内容简介:spring security 角色(ROLE)的继承
在实践中,往往各个角色的权限存在某种包含关系。假设系统中角色划分如下:ROLE_supervisor,ROLE_teller,ROLE_user,超级用户拥有出纳的权限。 那边对于拥有超级用户角色的员工,为了对其赋予出纳权限,那么我们可以对其赋予出纳角色;或者我们也可以改变出纳权限的定义,拥有超级用户角色和出纳角色的员工都拥有出纳权限。这两种方法都不够完美,方案一显得冗余,需要对一个员工赋予多个角色,方案二显得角色的权限划分不单一。spring security 角色(ROLE)继承能完美的解决该问题
本文由博主javacoder.cn原创,转载请注明出处
此处示例能更直观的说明问题
<beans:bean id="roleHierarchy" class="org.springframework.security.access.hierarchicalroles.RoleHierarchyImpl"> <beans:property name="hierarchy"> <beans:value> ROLE_supervisor > ROLE_teller ROLE_teller > ROLE_user </beans:value> </beans:property> </beans:bean> <beans:bean id="methodExpressionHandler" class="org.springframework.security.access.expression.method.DefaultMethodSecurityExpressionHandler"> <beans:property name="roleHierarchy" ref="roleHierarchy" /> </beans:bean> <beans:bean id="expressionHandler" class="org.springframework.security.web.access.expression.DefaultWebSecurityExpressionHandler"> <beans:property name="roleHierarchy" ref="roleHierarchy" /> </beans:bean> <global-method-security pre-post-annotations="enabled" > <expression-handler ref="methodExpressionHandler"/> </global-method-security> <http> <expression-handler ref="expressionHandler"/> </http>
RoleHierarchyImpl定义了权限的包含关系,"ROLE_supervisor > ROLE_teller"中的">"表示包含关系。然后定义MethodSecurityExpressionHandler和WebSecurityExpressionHandler bean,最后对<global-method-security >和<http>元素添加<expression-handler>子元素,让其指向定义的SecurityExpressionHandler。
Posted in:Spring Security
以上所述就是小编给大家介绍的《spring security 角色(ROLE)的继承》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
猜你喜欢:- spring security 角色(ROLE)的继承
- ansible笔记(42):角色
- 角色皮肤渲染技术
- ZooKeeper 架构设计与角色分工
- 角色2:主机绑定和主机侦听
- 如何给 Hadoop 集群划分角色
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
你必须知道的213个C语言问题
范立锋、李世欣 / 人民邮电出版社 / 2010-6 / 45.00元
《你必须知道的213个C语言问题》精选了213个在C语言程序设计中经常遇到的问题,目的是帮助读者解决在C语言学习和开发中遇到的实际困难,提高读者学习和开发的效率。这些问题涵盖了C语言与软件开发、C语言基础、编译预处理、字符串、函数、键盘操作、文件、目录和磁盘、数组、指针和结构、DOS服务和BIOS服务、日期和时间、重定向I/O和进程命令、C语言开发常见错误及程序调试等内容,均是作者经过充分的调研,......一起来看看 《你必须知道的213个C语言问题》 这本书的介绍吧!