SSM整合shiro授权管理的一些看法和疑惑??
这几天在学习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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
一般都是直接给URL配置上对应的权限,不要使用角色来配置
有些项目里面角色是固定的,这种情况给url配置角色比较合理