spring security知识点
时间: 2024-08-16 19:01:01 浏览: 46
spring-security-jwt-demo.zip
Spring Security是Spring框架下的一个强大安全模块,主要用于提供Web应用程序的安全保护,包括身份验证、授权、跨站请求伪造(CSRF)防御等。以下是Spring Security的一些核心知识点:
1. **身份验证**:Spring Security支持多种身份验证机制,如基于HTTP Basic、Digest、OAuth2的身份验证。开发者需要配置一个AuthenticationProvider来处理用户登录信息。
2. **访问控制**:Spring Security提供AccessDecisionManager和AccessDecisionVoter来管理权限决策,通过定义角色、权限和访问点,实现细粒度的权限控制。
3. **过滤器链**:SecurityFilterChain是一个过滤器集合,用于处理HTTP请求的生命周期,例如AuthenticationEntryPoint用于未认证用户的重定向,UsernamePasswordAuthenticationFilter负责实际的登录验证。
4. **表达式语言(Expression Language, EL)**:用于在Spring Security中动态地定义访问规则,如基于属性值的授权条件。
5. **CSRF Token**:防止恶意网站窃取用户Session,通过在表单中添加随机token并在服务器端验证。
6. **自定义拦截器**:允许开发者自定义拦截器来扩展Spring Security的功能,如记住我功能、二次确认登录等。
阅读全文