Spring security的执行流程
authentication = authenticationManager.authenticate(new UsernamePasswordAuthenticationToken(username, password));
AuthenticationManager 默认使用的是 ProviderManager,它是 AuthenticationManager 的一个默认实现。ProviderManager 管理一个或多个 AuthenticationProvider,并依次调用它们进行认证。
默认配置:
ProviderManager 默认会注册一个 DaoAuthenticationProvider,这是 Spring Security 中最常用的认证提供者。DaoAuthenticationProvider 会根据 UserDetailsService 来加载用户数据,并通过 PasswordEncoder 来验证密码。
AuthenticationManager 工作原理:
AuthenticationManager authenticationManager = new ProviderManager(Arrays.asList(new DaoAuthenticationProvider()));
ProviderManager 会依次检查各个 AuthenticationProvider 是否支持当前的 Authentication 类型。如果支持,则交给相应的 AuthenticationProvider 来进行认证。
上一篇:dubbo支持多种协议:
下一篇:再次理解:事务传播机制
相关文章
-
Spring cloud alibaba的常用注解有哪些?
在现代微服务架构体系中,Spring Cloud 作为分布式系统治理框架,承担着服务注册、服务调用、配置管理、熔断限流、网关路由等核心能力。
NEW个对象 2026-06-06
-
事务传播
事务传播
NEW个对象 2025-01-01
-
Spring ai的基础
在学习Spring ai先学习这几个类的作用:(问chatGpt、文言一心、 deepseek)
NEW个对象 2025-03-15