Spring security 核心流程
Spring Security 核心流程如下:
-
用户认证:用户输入用户名和密码,系统对其进行认证,验证其身份是否合法。Spring Security 提供了多种认证方式,包括基于表单、基于 HTTP 基本认证、Token 认证等。
-
认证过程:在用户认证过程中,Spring Security 会将用户提交的用户名和密码存储在一个 Authentication 对象中,并将该对象传递给 AuthenticationManager 进行认证。
-
认证提供者:AuthenticationManager 是 Spring Security 的认证中心,负责协调和调用认证提供者进行认证。认证提供者是一个接口,Spring Security 提供了多种实现方式,包括 DaoAuthenticationProvider、LDAPAuthenticationProvider、OpenIDAuthenticationProvider 等。
-
用户授权:用户认证成功后,系统需要对用户进行授权,即判断其是否有访问该资源的权限。Spring Security 提供了多种授权方式,包括基于角色、基于权限、基于表达式等。
-
认证成功处理器和认证失败处理器:在用户认证成功或失败后,系统需要对其进行相应的处理。Spring Security 提供了 AuthenticationSuccessHandler 和 AuthenticationFailureHandler 接口,用户可以根据自己的需求实现相应的处理器。
-
认证过滤器链:Spring Security 将认证过程和授权过程封装为一个过滤器链,该过滤器链包含多个过滤器,每个过滤器负责不同的任务,如身份认证、授权等。用户可以根据自己的需求配置过滤器链,以达到安全控制的目的。
-
安全上下文:Spring Security 将安全上下文存储在 SecurityContextHolder 中,其中包含了认证信息和授权信息等。用户可以通过 SecurityContextHolder 获取当前用户的认证信息和授权信息

原文地址: http://www.cveoy.top/t/topic/fERX 著作权归作者所有。请勿转载和采集!