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


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

查看所有标签

猜你喜欢:

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

孵化Twitter

孵化Twitter

[美]尼克·比尔顿(Nick Bilton) / 欧常智、张宇、单旖 / 浙江人民出版社 / 2014-1 / 49.90元

一个在挣扎中生存的博客平台Odeo,一小撮龙蛇混杂的无政府主义者员工,经历了怎样的涅槃,摇身一变,成为纽交所最闪耀的上市企业Twitter? 一个野心勃勃的农场小男孩,一个满身纹身的“无名氏“,一个爱开玩笑的外交家,一位害羞而又充满活力的极客,这四位各有特色的创始人如何从兢兢业业、每日劳作的工程师,成为了登上杂志封面、奥普拉秀和每日秀的富裕名人?而在Twitter日益茁壮成长的过程中,他们又......一起来看看 《孵化Twitter》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换

RGB CMYK 转换工具
RGB CMYK 转换工具

RGB CMYK 互转工具