`
neverforget
  • 浏览: 39302 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Spring Security 常用的几个自定义filter

阅读更多
<form-login authentication-success-handler-ref="afterLoginSuccessHandler" login-page="/loginPage.action?error=false" authentication-failure-url="/loginPage.action?error=true" default-target-url="/"/>
 
//配置自定义filter
<custom-filter before="FORM_LOGIN_FILTER" ref="authenticationProcessingFilter"/>
<custom-filter before="LOGOUT_FILTER" ref="logoutFilter"/>
 
//配置权限Provider
<authentication-manager alias="authenticationManager">
        <authentication-provider ref="securityAuthenticationProvider" />
</authentication-manager>
 
//自定义Provider
<beans:bean id="securityAuthenticationProvider" class="com.xxx.security.SecurityAuthenticationProvider">
        <beans:property name="userDetailsService" ref="securityUserService"/>
        <beans:property name="passwordEncoder" ref="passwordEncoder"/>
</beans:bean>
 
//配置AuthenticationFilter
<beans:bean id="authenticationProcessingFilter" class="org.springframework.security.web.authentication.UsernamePasswordAuthenticationFilter">
        <beans:property name="authenticationManager" ref="authenticationManager"/>
        <beans:property name="authenticationSuccessHandler" ref="afterLoginSuccessHandler"/>
        <beans:property name="authenticationFailureHandler" ref="afterLoginFailHandler"/>
        <beans:property name="authenticationDetailsSource" ref="authenticationDetailsSourceImpl"/>
</beans:bean>
 
//自定义LoginFailHandler
<beans:bean id="afterLoginFailHandler" class="com.xxx.security.AfterLoginFailHandler">
        <beans:property name="defaultFailureUrl">
            <beans:value>/loginPage.action?error=true</beans:value>
        </beans:property>
</beans:bean>
 
//自定义LoginSuccessHandler
<beans:bean id="afterLoginSuccessHandler" class="com.xxx.security.AfterLoginSuccessHandler">
        <beans:property name="defaultTargetUrl">
            <beans:value>/</beans:value>
        </beans:property>
</beans:bean>
 
//Md5加密
<beans:bean id="passwordEncoder" class="org.springframework.security.authentication.encoding.Md5PasswordEncoder"/>
    <beans:bean id="authenticationDetailsSourceImpl" class="org.springframework.security.authentication.AuthenticationDetailsSourceImpl">
        <beans:property name="clazz" value="com.xxx.security.SecurityWebAuthenticationDetails"/>
</beans:bean>
 
//自定义LogoutFilter
<beans:bean id="logoutFilter" class="org.springframework.security.web.authentication.logout.LogoutFilter">
        <beans:constructor-arg value="/" />
        <beans:constructor-arg>
            <beans:list>
                <beans:bean class="com.xxx.security.LogoutHandler"/>
            </beans:list>
        </beans:constructor-arg>
</beans:bean>
分享到:
评论

相关推荐

    springsecurity学习笔记

    在深入理解Spring Security之前,我们需要了解几个核心概念: 1. **认证(Authentication)**:这是确认用户身份的过程。Spring Security 提供了多种认证方式,如用户名/密码、证书、API密钥等。通常,用户通过登录...

    精彩:Spring Security 演讲PPT

    在实际开发过程中,使用Spring Security时需要注意以下几点: - **安全性考虑**: 在设计安全策略时,不仅要考虑防止未授权的访问,还要注意防范常见的Web安全攻击,如SQL注入、XSS攻击等。 - **性能优化**: 对于大型...

    狂神Spring Security静态资源

    这通常涉及到以下几个步骤: 1. **排除静态资源路径**:可以通过配置`WebSecurity`类的`ignoring()`方法,将静态资源目录如`/static`, `/resources`, `/public`等从安全控制中排除。这样,这些资源就不需要经过完整...

    Spring Security 3多用户登录实现一

    配置主要包括以下几个部分: - ****:定义URL匹配规则,以及对应的访问控制策略。 - ****:配置认证管理器,用于处理用户的登录尝试。 - **** 或 ****:定义用户服务,提供用户信息。 3. **多用户登录实现** - ...

    利用spring security控制同一个用户只能一次登陆

    这通常涉及到以下几个步骤: 1. **配置SessionRegistry**: Spring Security提供`SessionRegistry`接口,用于存储和管理用户会话信息。我们需要创建一个实现了此接口的类,并在配置中注册它。 ```java @Bean public...

    Spring security oauth源码

    在源码中,你可以看到以下几个关键部分: 1. **配置类**:Spring Security OAuth 配置文件定义了授权服务器和资源服务器的设置,包括认证管理器、令牌存储、授权码服务等。 2. **Filter Security Interceptor**:...

    Spring Security模块

    Spring Security 具有极高的可扩展性,可以集成自定义的认证和授权机制,例如自定义认证提供者、访问决策策略、用户详情服务等。此外,还可以通过添加额外的过滤器来增强安全性,如 CSRF 保护、XSS 防护等。 综上所...

    Spring Security 3 源码分析文档

    《Spring Security 3 源码分析文档》可能包含了以下几个关键知识点: 1. **架构概述**:Spring Security的核心架构由一系列组件构成,如Filter Chain、Authentication Manager、Access Decision Manager等。学习...

    spring security 参考文档.pdf

    AccessDecisionManager 决策管理器用于决定一个用户是否有权限访问某个资源,默认提供了几种常见的决策模式。 ##### 2.6 默认验证管理器 默认情况下,Spring Security 提供了一种标准的验证流程,包括用户身份认证...

    SpringSecurity官网修改例子 tutorial

    在SpringSecurity中,主要涉及以下几个关键知识点: 1. **访问控制**:SpringSecurity提供了基于角色的访问控制(RBAC),允许开发者定义用户角色和权限,以决定哪些用户可以访问哪些资源。在示例中,你可以看到...

    01-SpringSecurity-Demo.zip

    首先,SpringSecurity的基础架构包括以下几个核心组件: 1. **Filter Chain**: 这是一系列过滤器,每个过滤器执行特定的安全任务,如认证、授权等。在SpringSecurity中,这个过滤链由`DelegatingFilterProxy`指向`...

    Spring security4.1 中文版参考手册 PDF版

    在Spring Security 4.1版本中,有以下几个关键知识点: 1. **身份验证(Authentication)**:Spring Security提供了一套完整的身份验证机制,包括基于内存、数据库、ldap等多种方式的用户认证。手册会详细介绍如何...

    Spring security-包含官方文档

    在Spring Security 4.2.8.RELEASE版本中,我们能找到以下几个核心知识点: 1. **认证**:Spring Security 提供了多种认证机制,如基于表单的登录、HTTP Basic认证、OAuth2认证等。用户可以通过定义自己的`...

    spring security3配置和使用实例+教程

    首先,Spring Security 3的配置主要涉及以下几个方面: 1. **核心组件配置**:这包括`http`元素,它定义了安全拦截器的基本配置,如访问控制、登录页面设置等。例如,你可以使用`&lt;intercept-url&gt;`标签来指定哪些URL...

    spring security安全框架

    Spring Security 由以下几个核心组件组成: 1. **Filter Chain**:这是 Spring Security 的核心,它由一系列的过滤器组成,这些过滤器在每个 HTTP 请求进入应用之前进行处理。每个过滤器都有特定的职责,如认证、...

    spring security权限控制

    首先,Spring Security 的权限控制主要涉及以下几个关键组件: 1. **认证(Authentication)**:这是识别用户身份的过程。在Spring Security中,用户的身份信息通常存储在`UserDetails`对象中,而`Authentication`...

    spring-security简单demo

    3. **过滤器链(Filter Chain)**:Spring Security 的核心是基于Servlet Filter的过滤器链。这个链上的每个过滤器都有特定的任务,比如`UsernamePasswordAuthenticationFilter`处理登录请求,`...

    spring-security3.0.5源码

    首先,Spring Security的核心组件包括以下几个部分: 1. **Authentication(认证)**:负责用户身份的验证。它包含了不同的认证提供者(如`DaoAuthenticationProvider`用于数据库验证,`LdapAuthenticationProvider...

    springsecurity框架

    其中,最重要的几个过滤器包括`DelegatingFilterProxy`(用于代理Spring Security的Filter),`AuthenticationProcessingFilter`(负责处理认证请求),`SecurityContextHolderAwareRequestFilter`(增强...

    spring整合security4.2完整实例

    在Spring Security 4.2中,主要包含以下几个核心组件和概念: 1. **Authentication**(认证):这是验证用户身份的过程。Spring Security 提供了多种认证方式,如基于用户名/密码的认证、基于令牌的认证等。开发者...

Global site tag (gtag.js) - Google Analytics