> 技术文档 > spring boot项目使用Spring Security加密

spring boot项目使用Spring Security加密


Spring Security 概述

Spring Security 是一个基于 Spring 框架的安全框架,专注于为 Java 应用提供身份验证(Authentication)、授权(Authorization)和其他安全功能。它支持多种安全协议和标准,适用于 Web 应用、微服务、方法级安全等场景。

核心功能

  • 身份验证:支持表单登录、OAuth2、LDAP、JWT 等多种认证方式。
  • 授权:基于角色(Role)或权限(Permission)的访问控制,支持方法级和 URL 级权限管理。
  • 防护机制:内置 CSRF(跨站请求伪造)、Session 固定攻击、点击劫持等安全防护。
  • 集成扩展:与 Spring Boot、Spring Cloud 无缝集成,支持自定义安全逻辑。

关键组件

  • SecurityContextHolder:存储当前用户的安全上下文(如认证信息)。
  • UserDetailsService:加载用户核心数据(如用户名、密码、权限)。
  • AuthenticationManager:处理认证请求的核心接口。
  • FilterChainProxy:通过过滤器链(如 UsernamePasswordAuthenticationFilter)处理 HTTP 请求安全。

基础配置示例

@Configuration@EnableWebSecuritypublic class SecurityConfig extends WebSecurityConfigurerAdapter {  @Override protected void configure(HttpSecurity http) throws Exception {  http .authorizeRequests() .antMatchers(\"/public/**\").pe