Search in sources :

Example 1 with SysRoleDTO

use of com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO in project dq-easy-cloud by dq-open-cloud.

the class EcAuthorityRealm method doGetAuthorizationInfo.

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    EcAuthorityUserDTO<Long> authorityUserDTO = (EcAuthorityUserDTO) principals.getPrimaryPrincipal();
    List<SysRoleDTO> roleList = sysRoleService.findByUserId(authorityUserDTO.getAuthorityUserId());
    Set<Integer> roleNos = new HashSet<>();
    for (SysRoleDTO role : roleList) {
        authorizationInfo.addRole(role.getName());
        roleNos.add(role.getRoleNo());
    }
    List<SysResourceDTO> roleResourceDTOs = sysResourceService.findByRoleNos(new ArrayList<>(roleNos));
    for (SysResourceDTO resourceDTO : roleResourceDTOs) {
        authorizationInfo.addStringPermission(resourceDTO.getPermission());
    }
    return authorizationInfo;
}
Also used : EcAuthorityUserDTO(com.easy.cloud.core.authority.pojo.dto.EcAuthorityUserDTO) SimpleAuthorizationInfo(org.apache.shiro.authz.SimpleAuthorizationInfo) SysRoleDTO(com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO) SysResourceDTO(com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO)

Example 2 with SysRoleDTO

use of com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO in project dq-easy-cloud by dq-open-cloud.

the class SysResourceServiceImpl method listPermissionOfCurrentUser.

@Override
public EcBaseServiceResult listPermissionOfCurrentUser() {
    Subject subject = SecurityUtils.getSubject();
    SysUserDTO sysUserDTO = (SysUserDTO) subject.getPrincipal();
    List<SysRoleDTO> roles = sysRoleService.findByUserId(sysUserDTO.getId());
    Set<Integer> roleNos = new HashSet<>();
    for (SysRoleDTO roleDTO : roles) {
        roleNos.add(roleDTO.getRoleNo());
    }
    List<SysResourceDTO> resourceDTOS = findByRoleNos(new ArrayList<>(roleNos));
    return EcBaseServiceResult.newInstanceOfSucResult(resourceDTOS);
}
Also used : SysUserDTO(com.easy.cloud.core.operator.sysuser.pojo.dto.SysUserDTO) SysRoleDTO(com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO) SysResourceDTO(com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO) Subject(org.apache.shiro.subject.Subject) HashSet(java.util.HashSet)

Aggregations

SysResourceDTO (com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO)2 SysRoleDTO (com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO)2 EcAuthorityUserDTO (com.easy.cloud.core.authority.pojo.dto.EcAuthorityUserDTO)1 SysUserDTO (com.easy.cloud.core.operator.sysuser.pojo.dto.SysUserDTO)1 HashSet (java.util.HashSet)1 SimpleAuthorizationInfo (org.apache.shiro.authz.SimpleAuthorizationInfo)1 Subject (org.apache.shiro.subject.Subject)1