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");