AuthenticationManager两种配置都使用相同的配置,因为你可以自动连接
AuthenticationManagerBuilder。
请参阅Spring Security Architecture:
@Configurationpublic class ApplicationSecurity extends WebSecurityConfigurerAdapter { ... // web stuff here @Autowired public initialize(AuthenticationManagerBuilder builder, DataSource dataSource) { auth.jdbcAuthentication().dataSource(dataSource).withUser("dave") .password("secret").roles("USER"); }}此示例与Web应用程序有关,但是的用法
AuthenticationManagerBuilder更为广泛(有关如何实现Web应用程序安全性的详细信息,请参见下文)。请注意,
AuthenticationManagerBuilder是
@Autowired进入的一个方法
@Bean-这是什么使得它建立全局(父)的
AuthenticationManager。相反,如果我们这样做的话:
@Configurationpublic class ApplicationSecurity extends WebSecurityConfigurerAdapter { @Autowired DataSource dataSource; ... // web stuff here @Override public configure(AuthenticationManagerBuilder builder) { auth.jdbcAuthentication().dataSource(dataSource).withUser("dave") .password("secret").roles("USER"); }}(
@Override在配置程序中使用an 方法),
AuthenticationManagerBuilder则仅用于构建“本地”
AuthenticationManager,它是全局变量的子级。



