关于一个shiro的问题和大家讨论下

暴走的蛇 发布于 2013/06/24 10:39
阅读 3K+
收藏 0

近期在使用shiro的时候看了下示例代码与shiro的网上一些杂七杂八的文档,现对权限这一块儿有点想法希望能与大家讨论下:

假设现有数据模型【用户表,角色表,权限表,资源表】,现用户对应角色,角色对应权限,权限对应资源,当用户访问某一资源的时候去验证当前用户是否有此权限,我现在对这个问题想请问的问题就是shiro的权限控制是否必须细颗粒度到每个用户的对应的权限上去,例如我此时访问一个/user/listView.action,此时可以配置/user/listView.action=authc,perms[view],此配置设置访问此连接必须要认证并且有查看权限才能访问此链接,我看过网上一些例子把这些权限划分为CRUD的操作,但是我想问的是在常用的一些系统中,除非是专业用户不然的话你把这个增删改查什么的权限放在页面上让用户很难以理解并去操作,我曾经在OSC看见过一个K开头的所谓的权限管理系统,界面使用的DWZ的界面(风格一模一样),然后里面的权限控制就是一个角色对应后面是增删改查操作勾选是否有此操作权限,我觉的这样的一个权限风格对于程序员来讲可能会比较好理解一点,但是如果是交付用户使用我觉的可能谁都太会或者是太愿意去使用如此类的权限管理,然后我现在的一个想法就是是否可以不要把这个权限控制到如此细颗粒度,我想就是【用户表,资源表,角色表,角色资源表】,用户对应角色,角色对应资源,相应的用户才可以看见对应的资源,然后用户访问资源时判断用户是否有此角色,如果有此角色我便认为是合法可访问的,我觉的这样的权限控制对于一般系统来讲已经够用并且在界面设计和用户呈现上会稍微体验好一点,不知道大家对这个看法有什么意见? 另外那个K开头的权限管理的资源,我想说的是你把源码贡献出来是件好事情但是是否可以在贡献源码同时能不要忘记了之前的开源贡献者,那页面,那框架一打开就是典型的DWZ..

加载中
0
翟志军
翟志军

/user/listView.action=authc,perms[view] 这样写没必要吧。。。

/user/listView.action=perms[view] 这样就可以了。

shiro 在jsp支持这两种标签:

<shiro:hasRole name=""></shiro:hasRole>
<shiro:hasPermission name=""></shiro:hasPermission>

想想你在前端只能使用shiro:hasPermission,因为角色是动态的,shiro:hasRole很少用。在后台就必须将权限分得很细!





返回顶部
顶部