1.我想用Spring Security实现普通用户使用一个登录入口和一个AuthenticationProvider,后台管理员使用另一个一个登录入口和另一个AuthenticationProvider。但是Spring官网上说,所有的AuthenticationProvider都是由ProviderManager管理的,有多个provider,他们将会被按顺序进行尝试(内部使用了一个List),每个provider都可以尝试进行认证,或者简单的通过返回null来跳过认证。直到认证通过为止。我想问能不能一个HttpSecurity对应一个AuthenticationProvider,这样就不用做多余尝试了。
现在我在一个类中定义了两个HttpSecurity,请问有什么解决方法吗?:
@Configuration
public static class UserLoginWebSecurityConfigurerAdapter extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/")
...
}
//管理员登录配置
@Configuration
@Order(1)
public static class AdminWebSecurityConfigurationAdapter extends WebSecurityConfigurerAdapter {
...
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
.antMatchers("/admin/**")
...
}
}
请问你解决怎么个问题了吗?我也想这么做 不知道怎么处理