spring security 角色(ROLE)的继承

栏目: 后端 · 发布时间: 8年前

内容简介: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


以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

论因特网

论因特网

[美] 休伯特·L.德雷福斯 / 喻向午、陈硕 / 河南大学出版社 / 2015-5 / 32.00

本书是与日俱增的关于因特网利弊之文献的重要补充。 ——《哲学评论》 关于因特网种种承诺的一次清晰辨析……以哲学家的眼光审视一个影响我们所有人的问题。 ——《普遍存在》杂志 ……一场精心设计的论战……我们需要更多德雷福斯这样的老师,将网络融入依 然具有深邃人性的课程。 ——亚当•莫顿(出自《泰晤士报文学增刊》) 在互联网世界,不管你是菜鸟,还是浸淫其中已久—......一起来看看 《论因特网》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具