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


以上所述就是小编给大家介绍的《spring security 角色(ROLE)的继承》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

ME2.0

ME2.0

丹·斯柯伯尔 / 2011-11 / 36.00元

《Me2.0个人品牌崛起E时代》,本书介绍在信息技术飞速发展的今天,如何使用网络来营建个人形象,建立关系网,谋求理想的工作,完成商务交易。成功学与今天的网络通讯相结合,smart 原则与SWOT分析,视频网站、博客、社交网站、搜索引擎如何使用才能让你以直线方式走向成功等内容。一起来看看 《ME2.0》 这本书的介绍吧!

在线进制转换器
在线进制转换器

各进制数互转换器

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

UNIX 时间戳转换

正则表达式在线测试
正则表达式在线测试

正则表达式在线测试