我和Spring Security一起工作
关于配置,我通过一些来源看到了以下两种方法:
One
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.inMemoryAuthentication().withUser("someuser").password("somepassword").authorities("ROLE_ADMIN", "ROLE_USER");
//more as above
}和
2
@Override
protected void configure(AuthenticationManagerBuilder auth) throws Exception {
auth.userDetailsService(userDetailsService());
}
@Bean
@Override
public UserDetailsService userDetailsService() {
InMemoryUserDetailsManager inMemoryUserDetailsManager = new InMemoryUserDetailsManager();
inMemoryUserDetailsManager.createUser(User.withUsername("someuser").password("somepassword").authorities("ROLE_ADMIN", "ROLE_USER").build());
//more as above
return inMemoryUserDetailsManager;
}在此之前,目的或目标是为开发创建一些内存中的用户。实际上,和都能工作。因此:
发布于 2017-08-24 21:21:00
第二个变体更通用,因此更灵活,并且使用org.springframework.security.config.annotation.authentication.configurers.userdetails.DaoAuthenticationConfigurer注册。它接受选择内存标准实现的任何UserDetailsProvider。
第一个是更紧凑的,因为InMemoryUserDetailsManagerConfigurer是标准的。
但是最终的结果是相同的,因为org.springframework.security.config.annotation.authentication.builders.AuthenticationManagerBuilder#apply被调用了:它接受三种类型: DAO (您的第2种)、内存中的(您的第1种)和JDBC。
https://stackoverflow.com/questions/45870806
复制相似问题