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支持多种协议:
下一篇:再次理解:事务传播机制
相关文章
-
B树与B+树的区别
B树与B+树的区别
NEW个对象 2024-12-25
-
Spring security的执行流程
Spring Security 的执行流程: 1、认证(Authentication):先经过认证过滤器 -> 认证管理器 -> 成功后存入 SecurityContextHolder 2、授权(Authorization):访问资源时经过授权过滤器 -> 权限判断 -> 允许访问或拒绝访问 3、所有请求都经过 SecurityFilterChain 过滤
NEW个对象 2025-02-27
-
事务传播
事务传播
NEW个对象 2025-01-01