相关疑难解决方法(0)

什么时候调用loadUserByUsername?(春季安全)

我正在学习Spring Security,我很少有问题UserDetailsService:

1-何时loadUserByUsername实际调用或调用?认证后?每次登录只需一次?

2-登录后,Spring会将实际登录的用户放入httpSession吗?

3-填充集合的推荐方法<GrantedAuthority>UserDetails什么?

  1. Eagle会在调用loadUserByUsername时获取它们,返回的用户已经拥有它的"ROLES"
  2. UsernamePasswordAuthenticationFilter成功登录后实现另一个自定义过滤器,如populate?
  3. 以上都不是......

java spring spring-security

15
推荐指数
1
解决办法
2万
查看次数

Spring Security如何添加/配置AuthenticationManagerBuilder?

我正在开发基于Spring Security Java的配置.

我创建了自己的MyAuthenticationProvider,我想在ProviderManager(单个实例AuthenticationManager)中注册.

我发现ProviderManager有一个提供商列表,我可以注册我的单一 MyAuthenticationProvider.

这是我配置的一部分:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Autowired
    public void configureGlobal(AuthenticationManagerBuilder auth) throws Exception {
        auth.authenticationProvider(MyAuthenticationProvider);
    }
}
Run Code Online (Sandbox Code Playgroud)

我发现AuthenticationManagerBuilderparentAuthenticationManager,defaultUserDetailsService等诸多领域.

我的问题是:

  1. 这个@Autowired注释在哪里添加AuthenticationManagerBuilderauth?是否AuthenticationManagerBuilder已在应用程序上下文中创建?
  2. AuthenticationManagerBuilder注入的默认状态是什么?默认情况下,状态我的意思是会不会有一些parentAuthenticationManager,authenticationProvider在S已经注册AuthenticationManagerBuilder
  3. 如果我要添加auth.authenticationProvider(MyAuthenticationProvider),这是否意味着我在添加一个提供商AuthenticationManagerBuilder
  4. 这是什么意思?摘自Spring文档

    configureGlobal方法的名称并不重要.但是,仅在使用@EnableWebSecurity,@ EnableWebMvcSecurity,@ EnableGlobalMethodSecurity或@EnableGlobalAuthentication注释的类中配置AuthenticationManagerBuilder非常重要.否则会产生不可预测的结果.

java spring-security

12
推荐指数
2
解决办法
2万
查看次数

标签 统计

java ×2

spring-security ×2

spring ×1