码迷,mamicode.com
首页 > 数据库 > 详细

Spring Security授权 AccessDecisionManager

时间:2016-12-28 20:18:43      阅读:514      评论:0      收藏:0      [点我收藏+]

标签:定义   技术   val   strategy   htm   base   intercept   rmi   att   

在前面那篇博客有一段配置: 
Xml代码  技术分享
  1. <http auto-config="false" disable-url-rewriting="true" use-expressions="true" entry-point-ref="dtAuth"  
  2.      create-session="never">  
  3.      <!-- <session-management session-authentication-strategy-ref="dtsession"/> -->  
  4.      <intercept-url pattern="/unread/get" access="isAuthenticated()"/>  
  5.      <intercept-url pattern="/authtest.xhtm" access="hasRole(‘working‘)"/>  
  6.      <intercept-url pattern="/authtest1.xhtm" access="hasRole(‘trac‘)"/>  
  7.      <intercept-url pattern="/cmmt/uc" access="isAuthenticated()"/>  
  8.      <intercept-url pattern="/favicon.ico" access="denyAll"/>  
  9.      <intercept-url pattern="/**" access="permitAll"/>  
  10.      <custom-filter position="PRE_AUTH_FILTER" ref="dtSessionMgr"/>  
  11.  </http>  


pattern表示url,access表示url的权限,但这个isAuthenticated()具体在哪里执行呢?原来Spring提供授权机制,由org.springframework.security.access.AccessDecisionManager这个接口来实现。 

这个接口定义了这个方法: 
Java代码  技术分享
  1. void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes)  
  2.     throws AccessDeniedException, InsufficientAuthenticationException;  


对应上面的配置:object就是url,configAttributes就是一个access。常用的实现类是AffirmativeBased 

Spring Security授权 AccessDecisionManager

标签:定义   技术   val   strategy   htm   base   intercept   rmi   att   

原文地址:http://www.cnblogs.com/developer-ios/p/6230203.html

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