Search in sources :

Example 1 with Role

use of com.moon.admin.domain.Role in project moon by gentoo111.

the class ShiroRealm method doGetAuthorizationInfo.

@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    log.debug("权限配置");
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    User user = UserUtil.getCurrentUser();
    List<Role> roles = SpringUtil.getBean(RoleDao.class).listByUserId(user.getId());
    Set<String> roleNames = roles.stream().map(Role::getName).collect(Collectors.toSet());
    authorizationInfo.setRoles(roleNames);
    List<Permission> permissionList = SpringUtil.getBean(PermissionDao.class).listByUserId(user.getId());
    UserUtil.setPermissionSession(permissionList);
    Set<String> permissions = permissionList.stream().filter(p -> !StringUtils.isEmpty(p.getPermission())).map(Permission::getPermission).collect(Collectors.toSet());
    authorizationInfo.setStringPermissions(permissions);
    return authorizationInfo;
}
Also used : Role(com.moon.admin.domain.Role) SimpleAuthorizationInfo(org.apache.shiro.authz.SimpleAuthorizationInfo) User(com.moon.admin.domain.User) RoleDao(com.moon.admin.dao.RoleDao) PermissionDao(com.moon.admin.dao.PermissionDao) Permission(com.moon.admin.domain.Permission)

Aggregations

PermissionDao (com.moon.admin.dao.PermissionDao)1 RoleDao (com.moon.admin.dao.RoleDao)1 Permission (com.moon.admin.domain.Permission)1 Role (com.moon.admin.domain.Role)1 User (com.moon.admin.domain.User)1 SimpleAuthorizationInfo (org.apache.shiro.authz.SimpleAuthorizationInfo)1