spring security由一堆的filter组成,每个filter之间的实现是独立的。而且你可以修改里面的filter,或者写自己的filter。当然了,你修改得越多,也就越失去了使用它的意义。
内置的filter列表及执行顺序:
-
ChannelProcessingFilter, 用于选择channel,也就是http或https的选择。
-
SecurityContextPersistenceFilter, 用于将用户相关的信息保存到上下文中,以及session中。比如用户名,权限列表等。这个是必须的,如果没有这个filter,登陆之后的下一次请求,spring security无法获知请求者是谁,拥有什么权限。
-
ConcurrentSessionFilter, 常用于限制用户只能在一个地方登陆。
-
AuthenticationFilter,用于认证,spring提供了很多的登陆filter,可根据项目情况自己选择一种,对于大多数web项目, UsernamePasswordAuthenticationFilter是最适合的。因为大多数认证都是根据用户名、密码进行认证的,而用户名、密码又是存储在数据库中。UsernamePasswordAuthenticationFilter跟数据库结合非常方便,只要自己实现一个userDetailService就可以。
-
SecurityContextHolderAwareRequestFilter
-
JaasApiIntegrationFilter
-
RememberMeAuthenticationFilter, 该filter用于记住用户名、密码,下次不用再次登陆。但是它要跟UsernamePasswordAuthenticationFilter配合才行,如果AuthenticationFilter用的不是UsernamePasswordAuthenticationFilter,那么它就发挥不了作用。
-
AnonymousAuthenticationFilter如果存在可以匿名访问的资源,就需要配置这个拦截器。
-
ExceptionTranslationFilter捕获认证失败或验权失败的异常。并导航到相应的页面
-
FilterSecurityInterceptor对于web项目,这个是最重要的Filter,用于验权。
相关推荐
### Spring Security 概述与应用实践 #### 一、引言 在当今互联网时代,网络安全问题日益凸显,尤其是Web应用程序的安全性受到了前所未有的关注。为了应对这些挑战,Spring Security 应运而生,成为了一个非常重要...
#### 一、Spring Security 概述 **1.1 Spring Security 是什么?** Spring Security 是一款基于 Spring 框架的安全插件,提供了完整的安全性解决方案,包括身份认证(Authentication)、授权(Authorization)以及会话...
1. **Spring Security 概述**: - Spring Security 提供了一套完整的安全解决方案,包括用户认证、授权、会话管理以及跨站请求伪造(CSRF)防护等。 - 它是基于组件模型设计的,允许开发者选择和自定义特定的组件...
#### 一、Spring Security 概述 **Spring Security**是一种广泛应用于Java企业级项目中的安全框架,它基于Spring AOP(面向切面编程)和Servlet过滤器来提供全面的安全解决方案。该框架能够在Web请求级别以及方法...
**Spring Security 概述** Spring Security 是一个强大的且高度可定制的身份验证和授权框架,用于保护基于Java的应用程序。它提供了全面的安全解决方案,包括身份验证、授权、会话管理以及跨站请求伪造(CSRF)防护...
**Spring Security 概述** Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,专为 Java 应用程序设计。它提供了全面的安全解决方案,包括登录、授权、权限管理等,广泛应用于Web应用程序和企业...
在"SpringSecurity2Demo"这个项目中,我们可以预期看到以下组成部分: 1. **配置文件**: `spring-security.xml`,这是Spring Security的核心配置文件,包含了过滤器链的配置、用户认证源、授权规则等。 2. **控制...
一、Spring Security 概述 Spring Security的核心目标是为应用程序提供“认证”(Authentication)和“授权”(Authorization)。认证是指确认用户身份,而授权则是确定已认证的用户可以访问哪些资源或执行哪些操作...
#### Spring Security概述 在深入了解Spring Security之前,我们先回顾一下没有Spring Security的权限管理场景。在传统架构中,权限验证逻辑往往与业务逻辑紧密交织,导致每次用户操作都需要单独判断其权限,这种...
#### 一、Spring Security概述 Spring Security是一款强大的安全框架,它专为基于Spring的企业级应用提供了声明式安全访问控制。该框架利用Spring框架的核心功能,如IoC(Inversion of Control,控制反转)、DI...
### Spring Security 概述 Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,主要为基于 Spring 的企业级应用程序提供声明式的安全服务。它不仅支持认证(Authentication)和授权(Authorization)...
"springsecurity-namespace"可能指的是Spring Security的XML命名空间配置。在Spring Security的早期版本中,使用XML配置是最常见的实践。例如,你可能会看到以下片段: ```xml **" access="hasRole('ROLE_ADMIN')...
#### 一、Spring Security 概述 - **定义**:Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。 - **历史**:Spring Security 随着 Spring 框架的发展而不断演进,支持多种安全模型和技术,满足...
**Spring Security 概述** Spring Security 是一个强大的且高度可定制的身份验证和访问控制框架,专为 Java 应用程序设计。它为基于 Spring 的应用程序提供了全面的安全服务,包括认证、授权、会话管理以及跨站请求...
这个"Dash springSecurity docset"是一个专门为开发人员准备的文档集合,方便他们在开发过程中快速查询Spring Security的相关API和概念。 **Docset 和 Dash** Docset 是一种用于存储和检索技术文档的格式,通常被...
Spring Security概述 Spring Security是一套强大的、可高度定制的身份验证和访问控制框架,它原名Acegi Security。Spring Security 3.0.5是该框架的一个版本,其主要功能包括认证与授权、预防常见攻击、支持多种...
**Spring Security 概述** Spring Security 是一个强大的和高度可定制的身份验证和访问控制框架,用于保护基于 Java 的应用程序。它提供了一套全面的安全解决方案,包括登录认证、权限管理、会话管理以及防止常见...
`springsecurity-sample.rar` 可能包含一个示例项目,展示如何集成 Spring Security 并进行基本配置。这个样本项目可能包括以下部分: 1. **SecurityConfig**: 定义安全规则的 Java 类,可能使用 `@...
一、Spring Security概述 1.1 框架目标 Spring Security旨在为Java应用提供全面的安全管理解决方案,包括身份验证、授权和会话管理,适用于Web应用和基于Java的业务逻辑。 1.2 主要组件 - Authentication:身份...
### Spring Security 3.0.1 中文版知识点解析 #### 一、Spring Security 3.0.1 概览 ##### 1.1 Spring Security 是什么? Spring Security 是一个强大的、高度可定制的身份验证和访问控制框架。它提供了许多功能...