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支持多种协议:
下一篇:再次理解:事务传播机制
相关文章
-
再次理解:事务传播机制
父事务和子事务,在事务方法里调用了其它事务的方法,子事务如何执行: 1、父方法有事务。 2、父方法没有事务。 子方法事务该如何执行,有几种情况,根据这些情况,设置了七种传播基本。
NEW个对象 2025-03-06
-
kafka消费者组是什么?
kafka消费者组是什么?
NEW个对象 2024-10-24
-
svn的常见操作
1、代码提交 直接commit即可 2、代码回滚 如果代码已经提交,你可以使用 svn merge 来回滚到某个特定的版本。 如果代码没有提交,可以使用 svn revert 来撤销本地修改。
NEW个对象 2025-03-12