`
san_yun
  • 浏览: 2599368 次
  • 来自: 杭州
文章分类
社区版块
存档分类
最新评论

Spring Security授权 AccessDecisionManager

 
阅读更多
在前面那篇博客有一段配置:
   <http auto-config="false" disable-url-rewriting="true" use-expressions="true" entry-point-ref="dtAuth"
        create-session="never">
        <!-- <session-management session-authentication-strategy-ref="dtsession"/> -->
        <intercept-url pattern="/unread/get" access="isAuthenticated()"/>
        <intercept-url pattern="/authtest.xhtm" access="hasRole('working')"/>
        <intercept-url pattern="/authtest1.xhtm" access="hasRole('trac')"/>
        <intercept-url pattern="/cmmt/uc" access="isAuthenticated()"/>
        <intercept-url pattern="/favicon.ico" access="denyAll"/>
        <intercept-url pattern="/**" access="permitAll"/>
        <custom-filter position="PRE_AUTH_FILTER" ref="dtSessionMgr"/>
    </http>


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

这个接口定义了这个方法:
    void decide(Authentication authentication, Object object, Collection<ConfigAttribute> configAttributes)
        throws AccessDeniedException, InsufficientAuthenticationException;


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

相关推荐

    Spring Security

    前言 入门 简介 Spring Security是什么? 历史 发布版本号 Getting Spring Security Spring Security 4.1新特性 Java 配置提升 ...Spring Security的访问控制(授权) Localization ........................

    Spring Security 文档

    前者是将配置文件或数据库中存储的资源(url)提取出来加工成为url和权限列表的Map供Security使用,后者提取用户名和权限组成一个完整的(UserDetails)User对象,该对象可以提供用户的详细信息供AuthentationManager...

    Spring Security 中文教程.pdf

    1.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. ...

    spring security 参考手册中文版

    9.5 Spring Security中的访问控制(授权) 84 9.5.1安全和AOP建议 84 9.5.2安全对象和AbstractSecurityInterceptor 85 什么是配置属性? 85 RunAsManager 86 AfterInvocationManager 86 扩展安全对象模型 87 9.6本地...

    SpringSecurity 3.0.1.RELEASE.CHM

    1.1. Spring Security是什么? 1.2. 历史 1.3. 发行版本号 1.4. 获得Spring Security 1.4.1. 项目模块 1.4.1.1. Core - spring-security-core.jar 1.4.1.2. Web - spring-security-web.jar 1.4.1.3. Config -...

    Spring Security-3.0.1中文官方文档(翻译版)

    Spring Security-3.0.1 中文官方文档(翻译版) 这次发布的Spring Security-3.0.1 是一个bug fix 版,主要是对3.0 中存在的一些问题进 行修 正。文档中没有添加新功能的介绍,但是将之前拼写错误的一些类名进行...

    Spring Security3的使用

    前者是将配置文件或数据库中存储的资源(url)提取出来加工成为url和权限列表的Map供Security使用,后者提取用户名和权限组成一个完整的 (UserDetails)User对象,该对象可以提供用户的详细信息供AuthentationManager...

    spring security 4 多点登录

    最近看了spring security 4的开发文档,登录权限拦截封装的相当好!!! 附件为简单的多点登录demo,给开发前后台的朋友们做参考,其中authentication-provider为框架自带的user-service,后续会在整个自定义user-...

    Spring_Security-3.0.1文档(翻译版

    一种是全部利用配置文件,将用户、权限、...三种是细分角色和权限,并将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,并分别实现AccessDecisionManager、

    Spring_Security自己做的一个Demo

    使用自定义Filter方式实现的,实现了FilterInvocationSecurityMetadataSource AccessDecisionManager接口,用户权限直接写在代码里,自己可以修改,配置到数据库中。 jar包自己配置

    word源码java-wordladder3-user-authenticating:wordladder使用sping对用户进行身份验证

    将用户、角色、权限和资源均采用数据库存储,并且自定义过滤器,代替原有的FilterSecurityInterceptor过滤器,并分别实现AccessDecisionManager、InvocationSecurityMetadataSourceService和UserDetailsService。...

    UserPrivileges.zip

    采用SpringSecurity框架,用户登录采用拦截器实现,WebSecurityConfig实现WebSecurityConfigurerAdapter接口对拦截信息进行配置,包含设置登录页和允许访问的接口,自定义登录失败、登录成功返回对象,配置自定义...

Global site tag (gtag.js) - Google Analytics