有时需要在默认的filter之前定义自己的filter来改变原来的实现 但假如知道原来的filter的bean的默认名字之后 往往可以直接配置原来的filter
<beans:bean id="logoutFilter" class="org.springframework.security.ui.logout.LogoutFilter">
<custom-filter before="LOGOUT_FILTER" />
<beans:constructor-arg index="0" value="/"/>
<beans:constructor-arg index="1">
<beans:list>
<beans:bean class="org.springframework.security.ui.logout.SecurityContextLogoutHandler"/>
<beans:ref bean="_rememberMeServices"/>
<beans:bean class="com.lich0079.CustomLogoutHandler"/>
</beans:list>
</beans:constructor-arg>
</beans:bean>
现在只要
<beans:bean id="_logoutFilter" class="org.springframework.security.ui.logout.LogoutFilter">
<beans:constructor-arg index="0" value="/" />
<beans:constructor-arg index="1">
<beans:list>
<beans:bean class="org.springframework.security.ui.logout.SecurityContextLogoutHandler" />
<beans:ref bean="_rememberMeServices" />
<beans:bean class="lich0079.CustomLogoutFilter" />
</beans:list>
</beans:constructor-arg>
<beans:property name="filterProcessesUrl" value="/logout"/>
</beans:bean>
去掉了 <custom-filter before="LOGOUT_FILTER" />
ID变为 _logoutFilter 这是默认名字
改变rememberMe的一些默认配置 这些都是命名空间配置不了的
<beans:bean id="_rememberMeServices" class="org.springframework.security.ui.rememberme.TokenBasedRememberMeServices">
<beans:property name="userDetailsService" ref="userDetailsServiceWrapper" />
<beans:property name="parameter" value="rememberMe" /><!-- form input name -->
<beans:property name="key" value="keyss" />
<beans:property name="tokenValiditySeconds" value="2147483647" /><!-- the left valid time, about 68 year, max int-->
<beans:property name="cookieName" value="cookieCode" />
</beans:bean>
但首先你要知道这些bean的默认名字,试了半天 在applicationContext的beanFactory里找出来了
[_sessionFixationProtectionFilter, _rememberMeServices, _accessManager, org.springframework.aop.config.internalAutoProxyCreator, _basicAuthenticationFilter, _formLoginEntryPoint,
_filterSecurityInterceptor, _filterChainProxy,
_anonymousAuthenticationProvider, _filterChainProxyPostProcessor,
_rememberMeAuthenticationProvider,
_basicAuthenticationEntryPoint, _methodDefinitionSourceAdvisor,
org.springframework.security.config.AuthenticationProviderBeanDefinitionParser$AuthenticationProviderCacheResolver#0,
_exceptionTranslationFilter, _httpSessionContextIntegrationFilter,
_methodSecurityInterceptorPostProcessor,
_entryPointInjectionBeanPostProcessor, _logoutFilter, _portMapper,
_securityContextHolderAwareRequestFilter, _rememberMeFilter,
org.springframework.security.providers.dao.DaoAuthenticationProvider#0, _rememberMeServicesInjectionBeanPostProcessor,
_anonymousProcessingFilter, _filterChainList,
org.springframework.security.userdetails.memory.InMemoryDaoImpl#0, _delegatingMethodDefinitionSource, _authenticationManager,
_userServiceInjectionPostProcessor, _formLoginFilter,
_methodSecurityInterceptor]
有时候你配置了自己的filter不知道到底work了没有,可以去FilterChainProxy这个类里面设个断点,在里面可以看到整个filter链的对象,看你自己加的在不在里面,配置的属性是不是你想要的
分享到:
相关推荐
Spring Security 实践指南 Spring Security 是一个基于 Java 的安全框架,旨在提供身份验证、授权和访问控制等功能。下面是 Spring Security 的主要知识点: 一、身份验证(Authentication) 身份验证是指对用户...
Spring Security 是一个强大的安全框架,主要用于Java应用的安全管理,它为Web应用和企业级应用提供了全面的安全服务。这个框架能够处理认证、授权以及各种安全相关的功能,帮助开发者构建安全、可扩展的应用。以下...
Spring Security是一个功能强大、高度定制的安全框架,它专门用于为基于Spring的应用程序提供安全性解决方案。Spring Security架构的设计初衷是为了解决认证和授权的需求,确保应用程序的安全性。它提供了全面的安全...
Spring Security 是一个强大的Java安全框架,用于保护基于Spring的应用程序。它提供了全面的安全服务,包括认证、授权、CSRF防护、会话管理等。在深入理解Spring Security之前,我们需要了解几个核心概念: 1. **...
**Spring Security 入门小 Demo(SSM + Spring Security)** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛应用于 Java Web 应用程序的安全管理。本项目结合了 SpringMVC(Spring 模型-...
在压缩包文件`spring_gateway_security_webflux`中,可能包含了示例代码或配置文件,用于演示如何在Spring Cloud Gateway中集成Spring Security,实现统一登录认证鉴权。这些资源可以帮助开发者更快地理解和实践上述...
SpringSecurity是Java开发中用于构建安全Web应用的框架,它提供了强大的身份验证、授权和访问控制功能。在本文中,我们将深入探讨SpringSecurity的核心概念、关键组件以及如何配置和使用这个框架。 首先,Spring...
Spring Security 是一个强大的安全框架,用于为Java应用提供身份验证和授权服务。在这个完整的项目实例中,我们将深入探讨Spring Security的核心概念以及如何将其应用于实际的Web应用程序开发。 首先,我们从用户、...
SpringSecurity是Java领域中一款强大的安全框架,主要用于Web应用程序的安全管理。它提供了全面的身份验证、授权、会话管理以及安全相关的功能,可以帮助开发者构建安全的Web应用。在本笔记中,我们将深入探讨Spring...
Spring Security 是一个强大的安全框架,用于为Java应用提供全面的安全管理解决方案。它是Spring生态系统的组成部分,专注于身份验证、授权和访问控制。Spring Security的核心特性包括: 1. **身份验证...
SpringBoot+SpringSecurity处理Ajax登录请求问题 SpringBoot+SpringSecurity处理Ajax登录请求问题是SpringBoot开发中的一個常见问题,本文将详细介绍如何使用SpringBoot+SpringSecurity处理Ajax登录请求问题。 ...
Spring Security是Spring生态体系中的一个核心组件,主要负责应用程序的安全性,包括认证和授权。它为Web应用提供了全面的保护,防止未经授权的访问和操作。在版本2.5时,Spring Security已经是一个成熟且功能丰富的...
### Spring Security 3.0.1 中文版知识点解析 #### 一、Spring Security 3.0.1 概览 ##### 1.1 Spring Security 是什么? Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。它提供了许多功能...
Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,广泛用于Java应用程序的安全性管理。这个压缩包包含了Spring Security 4.0.0版本所需的jar包,这是一组核心组件,为构建安全的Web应用提供了...
Spring Security是一个功能强大且高度可定制的身份验证和授权框架,专门用于保护Java应用程序的安全性。它构建在Spring Framework基础之上,提供了全面的安全解决方案,包括身份验证、授权、攻击防护等功能。 Spring...
- **小结**:这些组件共同构成了 Spring Security 的核心架构,提供了强大的身份验证和授权能力。 **5.3 验证** - **什么是 Spring Security 的验证呢?** - Spring Security 的验证机制允许开发者自定义认证过程...
### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的安全性受到了前所未有的关注。为了应对这些挑战,Spring Security 应运而生,成为了一个非常重要...
在IT行业中,SpringBoot、SpringSecurity和WebSocket是三个非常重要的技术组件,它们分别在应用程序开发、安全管理和实时通信方面发挥着关键作用。本项目结合这三个技术,构建了一个整合的示例,旨在展示如何在...
Spring Security 是一个强大的安全框架,主要用于Java Web应用的安全管理,包括认证、授权和访问控制等。在Spring Boot中,Spring Security 提供了简洁的API和自动化配置,使得开发者能够快速集成安全功能。在这个名...
spring security spring security 中文文档