Search in sources :

Example 1 with Permission

use of com.goodskill.entity.Permission in project goodsKill by techa03.

the class UserRealm method doGetAuthorizationInfo.

/**
 * 提供用户信息返回权限信息
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    String account = (String) principals.getPrimaryPrincipal();
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    // 根据用户名查询当前用户拥有的角色
    Set<Role> roles = userService.findRoles(account);
    Set<String> roleNames = new HashSet<>();
    for (Role role : roles) {
        roleNames.add(role.getRoleName());
    }
    // 将角色名称提供给info
    authorizationInfo.setRoles(roleNames);
    // 根据用户名查询当前用户权限
    Set<Permission> permissions = userService.findPermissions(account);
    Set<String> permissionNames = new HashSet<>();
    for (Permission permission : permissions) {
        permissionNames.add(permission.getPermissionName());
    }
    // 将权限名称提供给info
    authorizationInfo.setStringPermissions(permissionNames);
    return authorizationInfo;
}
Also used : Role(com.goodskill.entity.Role) SimpleAuthorizationInfo(org.apache.shiro.authz.SimpleAuthorizationInfo) Permission(com.goodskill.entity.Permission) HashSet(java.util.HashSet)

Example 2 with Permission

use of com.goodskill.entity.Permission in project goodsKill by techa03.

the class AuthUserRealm method doGetAuthorizationInfo.

/**
 * 提供用户信息返回权限信息
 */
@Override
protected AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    String account = (String) principals.getPrimaryPrincipal();
    SimpleAuthorizationInfo authorizationInfo = new SimpleAuthorizationInfo();
    // 根据用户名查询当前用户拥有的角色
    Set<Role> roles = userService.findRoles(account);
    Set<String> roleNames = new HashSet<>();
    for (Role role : roles) {
        roleNames.add(role.getRoleName());
    }
    // 将角色名称提供给info
    authorizationInfo.setRoles(roleNames);
    // 根据用户名查询当前用户权限
    Set<Permission> permissions = userService.findPermissions(account);
    Set<String> permissionNames = new HashSet<>();
    for (Permission permission : permissions) {
        permissionNames.add(permission.getPermissionName());
    }
    // 将权限名称提供给info
    authorizationInfo.setStringPermissions(permissionNames);
    return authorizationInfo;
}
Also used : Role(com.goodskill.entity.Role) SimpleAuthorizationInfo(org.apache.shiro.authz.SimpleAuthorizationInfo) Permission(com.goodskill.entity.Permission) HashSet(java.util.HashSet)

Aggregations

Permission (com.goodskill.entity.Permission)2 Role (com.goodskill.entity.Role)2 HashSet (java.util.HashSet)2 SimpleAuthorizationInfo (org.apache.shiro.authz.SimpleAuthorizationInfo)2