Spring Security:多个HTTP配置无法正常工作
我正在尝试使用Spring Security,我有一个用例,我想要保护不同的登录页面和不同的URL集。
这是我的配置:
@Configuration@Order(1)public static class ProviderSecurity extends WebSecurityConfigurerAdapter{ @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/", "/home").permitAll() .antMatchers("/admin/login").permitAll() .antMatchers("/admin/**").access("hasRole('BASE_USER')") .and() .formLogin() .loginPage("/admin/login").permitAll() .defaultSuccessUrl("/admin/home") .failureUrl("/admin/login?error=true").permitAll() .usernameParameter("username") .passwordParameter("password") .and() .csrf() .and() .exceptionHandling().accessDeniedPage("/Access_Denied"); }}@Configuration@Order(2)public static class ConsumerSecurity extends WebSecurityConfigurerAdapter { @Override protected void configure(HttpSecurity http) throws Exception { http .authorizeRequests() .antMatchers("/consumer/login").permitAll() .antMatchers("/consumer/**").access("hasRole('BASE_USER')") .anyRequest().authenticated() .and() .formLogin() .loginPage("/consumer/login").permitAll() .defaultSuccessUrl("/consumer/home") .failureUrl("/consumer/login?error=true").permitAll() .usernameParameter("username") .passwordParameter("password") .and().csrf() .and() .exceptionHandling().accessDeniedPage("/Access_Denied"); }}
这些类是MultipleHttpSecurityConfig
具有注释的另一个类的内部类@EnableWebSecurity
。
安全性admin/**
工作正常,但没有一个consumer/**
页面是安全的,登录页面没有重定向。我搜索了其他答案,但都没有效果。
繁星coding
倚天杖
相关分类