SpringSecrity-快速入门

通过添加 spring-boot-starter-security 来为你的Spring Boot项目添加Spring Security。

<dependency>
     <groupId>org.springframework.boot</groupId>
     <artifactId>spring-boot-starter-security</artifactId>
 </dependency>

Spring Security通过一系列过滤器来处理HTTP请求并执行安全措施。每个过滤器负责一个特定的安全任务,如认证、授权、CSRF保护等。以下是这些过滤器的简单说明:

  1. DisableEncodeUrlFilter:禁用URL编码过滤器,通常用于确保URL不包含会话标识符。
  2. WebAsyncManagerIntegrationFilter:处理异步请求,确保Spring Security能正确处理异步场景下的安全性。
  3. SecurityContextPersistenceFilter:负责从存储(如Session)中获取SecurityContext,并在请求结束后保存。
  4. HeaderWriterFilter:用于添加或修改HTTP响应头,比如设置安全相关的响应头。
  5. CsrfFilter:提供CSRF(跨站请求伪造)保护,防止恶意网站向受信任的网站发送未经授权的请求。
  6. LogoutFilter:处理用户登出逻辑,清除安全上下文和会话。
  7. UsernamePasswordAuthenticationFilter:负责处理用户名和密码的身份验证。
  8. DefaultLoginPageGeneratingFilter:当没有自定义登录页面时,自动生成一个默认的登录页面。
  9. DefaultLogoutPageGeneratingFilter:当没有自定义登出页面时,自动生成一个默认的登出页面。
  10. BasicAuthenticationFilter:处理HTTP基本认证请求。
  11. RequestCacheAwareFilter:处理已缓存的请求,通常用于重定向到之前访问的受保护页面。
  12. SecurityContextHolderAwareRequestFilter:确保当前请求有权访问SecurityContext,通常用于控制器和其他业务逻辑。
  13. AnonymousAuthenticationFilter:处理匿名用户的身份验证,如果用户未登录,该过滤器会提供一个匿名身份。
  14. SessionManagementFilter:管理用户的会话,确保会话符合安全策略(如并发会话限制)。
  15. ExceptionTranslationFilter:处理安全相关的异常,通常用于在遇到权限不足或其他安全问题时进行重定向或错误处理。
  16. FilterSecurityInterceptor:最后一个过滤器,负责执行访问控制决策,决定请求是否被允许访问资源。

这些过滤器按照顺序执行,确保每个请求经过多层次的安全检查和处理。这是Spring Security的核心工作机制。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值