我试图使用websecurity.ignore忽略目录。我有以下配置。
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/", "/home").permitAll()
.antMatchers("/product_save").hasAuthority("ADMIN")
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll().and().csrf().disable()
.exceptionHandling().and()
.rememberMe()
.key("uniqueAndSecret")
.rememberMeCookieName("broman-remember-me")
.tokenValiditySeconds(60 * 60 * 24).and()
.sessionManagement().maximumSessions(1);
}
@Override
public void configure(WebSecurity web)throws Exception {
web.ignoring().antMatchers("/static/**");
}
}
以上配置不会忽略。
答案 0 :(得分:2)
您的代码:
@Override
public void configure(WebSecurity web)throws Exception {
web.ignoring().antMatchers("/static/**");
}
将忽略以/static/**
http://localhost:8080/static/...
开头的所有网址
Spring Boot默认提供静态文件夹的内容。因此,如果您在静态文件夹中有一些文件夹或文件(如与客户和经理等相关的静态资源......),您可以逐个忽略它们:
@Override
public void configure(WebSecurity web)throws Exception {
web.ignoring().antMatchers("/customers/**", "/managers/**", "/monitor.html");
}
这将忽略:
http://localhost:8080/customers/
- 以及所有子网址
http://localhost:8080/managers/
- 以及所有子网址
http://localhost:8080/monitor.html