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里面获取不就好了。

推荐问题