码迷,mamicode.com
首页 > 其他好文 > 详细

OAuth2.0学习(1-13)OAuth2.0的投票机制和投票器

时间:2017-06-21 16:48:11      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:int   .net   role   obj   列表   2.0   cells   tap   osc   

转载自:https://my.oschina.net/bigyuan/blog/352204

1、三种投票器,默认是 一票制

技术分享

配置方式

技术分享

技术分享

decisionVoters属性

在我们不声明AccessDecisionManager时,decisionVoters属性是自动配置的。

默认的AccessDecisionManager要求我们配置投票器的一个列表,它们将会在认证决策时用到。

技术分享

 2、自定义投票器

投票器,实现AccessDecisionVoter接口并在配置中添加我们的实现

 

3、使用 Spring 表达式语言配置访问控制

技术分享

添加后将要修改用来进行拦截器规则声明的 access 属性,改为 SpEL 表达式。 SpEL 允许使用特定的访问控制规则表达式语言。

与简单的字符串如 ROLE_USER 不同,配置文件可以指明表达式语言触发方法调用、引用系统属性、计算机值等等。

SpEL 的语法与其他的表达式语言很类似,如在 Tapestry 等框架中用到的 Object Graph Notation Language (OGNL) ,以及用于 JSP 和 JSF 的 Unified Expression Language 。

如果你通过使用 use-expressions 属性启用了 SpEL 表达式访问控制,将会使得自动配置的 RoleVoter 实效,后者能够使用角色的声明,正如在前面的例子所见到的那样:

<intercept-url pattern="/*" access="ROLE_USER"/>

这意味着如果你仅仅想通过角色来过滤请求的话,访问控制声明必要要进行修改。幸运的的是,这已经被充分考虑过了,一个 SpEL 绑定的方法 hasRole 能够检查角色。

技术分享

 技术分享

 

OAuth2.0学习(1-13)OAuth2.0的投票机制和投票器

标签:int   .net   role   obj   列表   2.0   cells   tap   osc   

原文地址:http://www.cnblogs.com/lexiaofei/p/7060151.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!