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
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {@Overrideprotected void configure(HttpSecurity http) throws Exception {http.authorizeRequests().antMatchers("/public/**").pe