feature(permission-query): 权限检查接口
This commit is contained in:
parent
eb7d2e3005
commit
7009b40444
@ -77,7 +77,7 @@ public interface TyrSaasAuthApi {
|
|||||||
* @param req
|
* @param req
|
||||||
* @return
|
* @return
|
||||||
*/
|
*/
|
||||||
@PostMapping("/api/v2/auth/listPermissionFromFeature")
|
@PostMapping("/api/v2/auth/listIdentityFromPermission")
|
||||||
ApiResult<List<QueryIdentityByPermissionResp>> listIdentityFromPermissionV2(@RequestBody ListPermissionFromFeatureReq req);
|
ApiResult<List<QueryIdentityByPermissionResp>> listIdentityFromPermissionV2(@RequestBody ListPermissionFromFeatureReq req);
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
@ -49,14 +49,12 @@ public class TyrSaasAuthController implements TyrSaasAuthApi {
|
|||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<Boolean> hasPermissionForIdentityV2(CheckIdentityPermissionReq req) {
|
public ApiResult<Boolean> hasPermissionForIdentityV2(CheckIdentityPermissionReq req) {
|
||||||
//TODO:@Zhan
|
return ApiResult.ok(tyrSaasAuthService.hasPermissionForIdentityV2(req));
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public ApiResult<List<QueryIdentityByPermissionResp>> listIdentityFromPermissionV2(ListPermissionFromFeatureReq req) {
|
public ApiResult<List<QueryIdentityByPermissionResp>> listIdentityFromPermissionV2(ListPermissionFromFeatureReq req) {
|
||||||
//TODO:@Zhan
|
return ApiResult.ok(tyrSaasAuthService.listIdentityFromPermissionV2(req));
|
||||||
return null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|||||||
@ -31,4 +31,7 @@ public interface TyrSaasAuthService {
|
|||||||
*/
|
*/
|
||||||
IdentityAuthRes findIdentityAuth(IdentityAuthReq identityAuthReq);
|
IdentityAuthRes findIdentityAuth(IdentityAuthReq identityAuthReq);
|
||||||
|
|
||||||
|
boolean hasPermissionForIdentityV2(CheckIdentityPermissionReq req);
|
||||||
|
|
||||||
|
List<QueryIdentityByPermissionResp> listIdentityFromPermissionV2(ListPermissionFromFeatureReq req);
|
||||||
}
|
}
|
||||||
|
|||||||
@ -52,6 +52,7 @@ import org.springframework.beans.factory.annotation.Qualifier;
|
|||||||
import org.springframework.stereotype.Service;
|
import org.springframework.stereotype.Service;
|
||||||
|
|
||||||
import java.util.ArrayList;
|
import java.util.ArrayList;
|
||||||
|
import java.util.Arrays;
|
||||||
import java.util.Collection;
|
import java.util.Collection;
|
||||||
import java.util.Collections;
|
import java.util.Collections;
|
||||||
import java.util.HashMap;
|
import java.util.HashMap;
|
||||||
@ -499,6 +500,35 @@ public class TyrSaasAuthServiceImpl implements TyrSaasAuthService {
|
|||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public boolean hasPermissionForIdentityV2(CheckIdentityPermissionReq req) {
|
||||||
|
if (CollectionUtil.isEmpty(req.getCodes())) {
|
||||||
|
return true;
|
||||||
|
}
|
||||||
|
IdentityAuthReq request = new IdentityAuthReq();
|
||||||
|
request.setIdentityId(req.getIdentityId());
|
||||||
|
request.setIdentityType(req.getIdentityType());
|
||||||
|
if (StrUtil.isNotBlank(req.getTerminal())) {
|
||||||
|
request.setTerminal(Collections.singletonList(req.getTerminal()));
|
||||||
|
}
|
||||||
|
IdentityAuthRes authRes = this.findIdentityAuth(request);
|
||||||
|
HashSet<String> codeSet = new HashSet<>(req.getCodes());
|
||||||
|
//比较code
|
||||||
|
return authRes.getPermissions().stream()
|
||||||
|
.anyMatch(e -> e.getPermissionPoint()
|
||||||
|
.stream()
|
||||||
|
.anyMatch(p -> codeSet.contains(p.getFeatureCode())));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public List<QueryIdentityByPermissionResp> listIdentityFromPermissionV2(ListPermissionFromFeatureReq req) {
|
||||||
|
//TODO:@Zhan
|
||||||
|
//超管 - 保持原逻辑
|
||||||
|
//非超管 权限code+terminal -> feature -> 权限集 -> 例外权限集作用范围过滤 --> 权限集角色-角色组匹配OU类型资质(OU参建单位)
|
||||||
|
//免授权型 - 没有意义
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
public static class UserRoleInfoMap {
|
public static class UserRoleInfoMap {
|
||||||
|
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user