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

发布于 2022-09-11 16:01:47 字数 238 浏览 30 评论 0

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

み零 2022-09-18 16:01:47

@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);
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文