我还有两个独立的安全路径,因此每个路径都有自己的配置。
我的配置:(路径-a和路径-b相同)
@Configuration
@EnableWebSecurity
@EnableGlobalMethodSecurity(securedEnabled = true, jsr250Enabled = true)
@Order(2)
public class CandidateConfigurationAdapter extends WebSecurityConfigurerAdapter {
protected void configure(HttpSecurity http) throws Exception {
http
.antMatcher("/path-a/**").authorizeRequests()
.antMatchers("/", LANDING_PAGE, "/path-a/login").permitAll()
.antMatchers("/path-a/**").hasRole(ROLE-A)
.and().formLogin().loginPage("/path-a/login").permitAll()
.and().logout().permitAll()
.and().rememberMe()
.and().csrf().disable();
我还启用了全局方法安全性,并且使用@RolesAllowed(“ROLE-A”)注释了不在“path-a”或“path-b”上的方法 安全部分运行良好 - 只有在通过身份验证时才能运行。
唯一的问题是,当未识别路径时 - 弹簧安全过滤器未运行,只有方法安全拦截器。 没有身份验证时 - RememberMe过滤器没有运行来检查cookie,现在我被拒绝访问。
如何使全局方法安全路径运行remember me过滤器?