Search in sources :

Example 1 with SysResourceDTO

use of com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO 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 SysResourceDTO

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

the class SysResourceServiceImpl method getPermissionTree.

@Override
public EcBaseServiceResult getPermissionTree() {
    SysResourceQuery query = new SysResourceQuery();
    query.setAvailable(EcBaseConstant.EcAvailableEnum.YES.type());
    List<SysResourceEntity> resourceEntities = sysResourceDAO.listByQuery(query);
    List<SysResourceDTO> resourceDTOS = EcJSONUtils.parseArray(resourceEntities, SysResourceDTO.class);
    for (SysResourceDTO sysResourceDTO : resourceDTOS) {
        for (SysResourceDTO sysResourceDTOTemp : resourceDTOS) {
            if (EcBaseUtils.equals(sysResourceDTOTemp.getParentNo(), sysResourceDTO.getResourceNo())) {
                sysResourceDTO.getChildren().add(sysResourceDTOTemp);
            }
        }
    }
    for (SysResourceDTO sysResourceDTO : resourceDTOS) {
        if (sysResourceDTO.getParentNo() == 0) {
            return EcBaseServiceResult.newInstanceOfSucResult(sysResourceDTO);
        }
    }
    return EcBaseServiceResult.newInstanceOfSuccess();
}
Also used : SysResourceEntity(com.easy.cloud.core.operator.sysresource.pojo.entity.SysResourceEntity) SysResourceQuery(com.easy.cloud.core.operator.sysresource.pojo.query.SysResourceQuery) SysResourceDTO(com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO)

Example 3 with SysResourceDTO

use of com.easy.cloud.core.operator.sysresource.pojo.dto.SysResourceDTO 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)3 SysRoleDTO (com.easy.cloud.core.operator.sysrole.pojo.dto.SysRoleDTO)2 EcAuthorityUserDTO (com.easy.cloud.core.authority.pojo.dto.EcAuthorityUserDTO)1 SysResourceEntity (com.easy.cloud.core.operator.sysresource.pojo.entity.SysResourceEntity)1 SysResourceQuery (com.easy.cloud.core.operator.sysresource.pojo.query.SysResourceQuery)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