SSM整合shiro授权管理的一些看法和疑惑??

发布于 2022-09-11 20:39:48 字数 858 浏览 21 评论 0

这几天在学习shiro的东西,发现使用shiro确实可以减轻我们的开发,编写很少的代码就可以实现登入验证和授权。

但是对于shiro授权我觉得在角色权限上有一点局限性,比如:

<property name="filterChainDefinitions">
        <value>
            <!-- 配置登出: 使用 logout 过滤器 -->
            /shiro-logout = logout
            /shiro-* = anon
            /user.jsp = roles[user]
            /admin.jsp = roles[admin]
            /** = authc
        </value>
    </property>

通过上面的配置可以轻松实现指定某个角色可以访问那个资源(URL),也是可以在控制器方法上使用注解进行角色权限的分配。但是如果是这样的话,相当于把角色权限给写死在代码中了,反而使得分配用户角色的权限不灵活了。

我们都知道RBAC权限设计一般至少有四张表(用户表(角色ID) 角色表 权限表 角色权限表 )。但是如果用shiro来做权限管理的话,就省去了表的设计。但是我们在操作权限时,就很受限制了,不灵活。

就比如上面的 访问 /user.jsp需要 用户角色,但是如果想添加一个其它角色也可以访问的话,只能改配置文件,所以这个感觉挺麻烦的。 但是如果我们用RBAC思想通过数据表来控制权限的话,我们只要在管理后台直接对角色权限进行分配,随时可以需改某个角色的权限。

这只是我这几天学shiro对于它的授权管理的一点看法。不知道那个哥哥还有什么不同见解呢?

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

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

发布评论

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

评论(1

甜心 2022-09-18 20:39:48

一般都是直接给URL配置上对应的权限,不要使用角色来配置
有些项目里面角色是固定的,这种情况给url配置角色比较合理

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