0

我也有两条独立的安全路径,因此每条路径都有自己的配置。

我的配置:(path-a & path-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();

我还启用了全局方法安全性,并且不在“path-a”或“path-b”上的方法使用 @RolesAllowed("ROLE-A") 进行注释,安全部分运行良好 - 只有经过身份验证后,方法才能工作.

唯一的问题是,当路径没有被识别时——spring security filters 没有运行,只有方法安全拦截器在运行。当没有身份验证时 - RememberMe 过滤器没有运行来检查 cookie,现在我被拒绝访问。

如何使全局方法安全路径运行记住我过滤器?

4

0 回答 0