shiro问题:你们是怎么做管理员的权限授权的?

如题:
因为shiro常用的是根据角色分配权限的
那么问题来了:
在后台管理系统中,有些资源是所有管理员都可以访问的,但是有些细粒度的资源就必须有对应的权限了
是否可以这样:
多role
超级管理员创建一个普通管理员,赋予角色admin(管理员基础角色,所有管理员都有),在此基础上对每个管理员添加不同的权限的角色(admin-xx)
刚接触shiro,有点不熟悉,请问这样做有什么弊端吗,有什么更好的方法吗?谢谢大家了

阅读 4.9k
1 个回答
新手上路,请多包涵

@Override

public  boolean isPermitted(PrincipalCollection principals, String permission){
    SysUser user = (SysUser) principals.getPrimaryPrincipal();
    // 如果是管理员拥有所有的访问权限
    return user.getIsAdmin() == WhetherEnum.YES.getValue() || super.isPermitted(principals, permission);
}
@Override
public boolean hasRole(PrincipalCollection principals, String roleIdentifier) {
    SysUser user = (SysUser) principals.getPrimaryPrincipal();
    // 如果是管理员拥有所有的角色权限
    return user.getIsAdmin() == WhetherEnum.YES.getValue() || super.hasRole(principals, roleIdentifier);
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进