关于shiro角色权限的疑问

Freefish1994 2018-04-28 04:32:25
我自定义了一个Realm然后在进行授权的时候有这么一个疑问,shiro有@RequiresPermissions和@RequiresRoles这两个注解,当我给SimpleAuthorizationInfo这个类添加角色和权限的时候,角色和权限之间没有关联性啊,比如我给用户A添加了一个角色,这个角色具有三个权限,那我在Controller层中可以直接用@RequiresPermissions注解进行标识,比如@RequiresPermissions(user:edit),完全用不到@RequiresRoles注解,那我在进行授权的时候给用户A添加这个角色还有什么用,难道只是在配置xml文件中配置shiroFilter的时候添加请求url限制的时候用roles[]进行控制这一个作用么,我不知道shiro是如何对角色和权限进行关联的,大神能给解答一下吗
...全文
1414 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
YinQuanYi 2018-05-02
  • 打赏
  • 举报
回复
在一般的应用中上,我们使用shiro框架对用户的权限和角色进行控制的时候是分开的,shiro是不负责权限和角色的绑定的,具体的绑定可以通过数据库中表的字段关系来绑定。
Freefish1994 2018-05-02
  • 打赏
  • 举报
回复
是不是shiro不负责权限和角色的绑定?
Freefish1994 2018-04-29
  • 打赏
  • 举报
回复
引用 3 楼 QWERT4745 的回复:
shiro权限和角色貌似是分开的,实际应用是通过数据库获取用户roleList和permissionList,再加入到shiro中
等于shiro并不负责权限和角色的绑定是吗?
QWERT4745 2018-04-28
  • 打赏
  • 举报
回复
shiro权限和角色貌似是分开的,实际应用是通过数据库获取用户roleList和permissionList,再加入到shiro中
Freefish1994 2018-04-28
  • 打赏
  • 举报
回复
引用 1 楼 QWERT4745 的回复:
用户的权限可以通过角色授予或者直接给某个权限 @RequiresRoles也不是用不上,假设需要管理员的角色(包括多个权限)才能操作,那就可以用,看你的需求了 @RequiresPermissions不限定角色
但是问题是比如这个用户有3个角色,每个角色对应不同的权限,shiro是如何绑定这些角色和权限的对应关系的,我在授权的时候只是调用SimpleAuthorizationInfo的addRoles方法添加对应的角色,用addStringPermission添加他的权限,但是shiro怎么让这些权限和角色对应起来的,是它内部实现的吗?
QWERT4745 2018-04-28
  • 打赏
  • 举报
回复
用户的权限可以通过角色授予或者直接给某个权限 @RequiresRoles也不是用不上,假设需要管理员的角色(包括多个权限)才能操作,那就可以用,看你的需求了 @RequiresPermissions不限定角色

67,513

社区成员

发帖
与我相关
我的任务
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
  • Java EE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧