Shiro权限框架中,如何从shiro中获取当前登录用户的权限信息?

在项目中需要获取当前登录用户的权限,并传递给前端。
如何如何从shiro中获取当前登录用户的权限信息?

阅读 15.5k
1 个回答

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;
}

获取权限信息

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

2、直接从db里面获取不就好了。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题