1. 首页
  2. >
  3. 编程技术
  4. >
  5. Java

Shiro权限框架中获取当前登录用户的权限和角色信息

在项目中需要获取当前登录用户的权限,并传递给前端。

1、在自定义的realm中,把userPermissions当做参数注册到session里面

@Override
public AuthorizationInfo doGetAuthorizationInfo(PrincipalCollection principals) {
    SimpleAuthorizationInfo info = new SimpleAuthorizationInfo();
    Set<String> permissionsSet = //logic to get the permissions here
    info.addStringPermissions(permissionsSet);

    SecurityUtils.getSubject().getSession().setAttribute("permissions", permissionsSet);

    return info;
}
2、获取权限信息

SecurityUtils.getSubject().getSession().getAttribute("permissions");