【Spring Security】 AuthenticationManager

Metadata

title: 【Spring Security】 AuthenticationManager
date: 2023-02-01 19:38
tags:
  - 行动阶段/完成
  - 主题场景/组件
  - 笔记空间/KnowladgeSpace/ProgramSpace/ModuleSpace
  - 细化主题/Module/SpringSecurity
categories:
  - SpringSecurity
keywords:
  - SpringSecurity
description: 【Spring Security】 AuthenticationManager

【Spring Security】 AuthenticationManager

AuthenticationManager 是定义 Security 过滤器如何执行身份验证的接口,提供了一个 authenticate 方法用于认证。

/**
 * Processes an {@link Authentication} request.
 * 认证管理器 实现认证主要是通过AuthenticationManager接口
 * 在实际开发中,我们可能有多种不同的认证方式,例如:用户名+
 * 密码、邮箱+密码、手机号+验证码等,而这些认证方式的入口始终只有一个,那就是
 * AuthenticationManager。
 * * @author Ben Alex
 */
public interface AuthenticationManager {

 /**
 * authenticate()方法主要做三件事:
 * 如果验证通过,返回Authentication(通常带上authenticated=true)。
 * 认证失败抛出AuthenticationException
 * 如果无法确定,则返回null
 */
 Authentication authenticate(Authentication authentication) throws AuthenticationException;

}

AuthenticationManage 最常见的实现类是 [[【SpringSecurity】 ProviderManager]]。