gpt4 book ai didi

spring - 在 protected Spring Boot应用程序中访问静态内容

转载 作者:行者123 更新时间:2023-12-03 23:33:23 25 4
gpt4 key购买 nike

我有一个独立的Spring Boot应用程序,其模板在/src/main/resources/templates中,而静态内容在/src/main/resources/static中。我希望在身份验证之前可以访问静态内容,因此CSS也会在登录页面上加载。现在,仅在身份验证后加载。我的安全配置如下所示:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

private static final Logger logger = Logger.getLogger(SecurityConfig.class);

@Autowired
public void configureGlobal(AuthenticationManagerBuilder auth) {
try {
auth.inMemoryAuthentication()
...
} catch (Exception e) {
logger.error(e);
}
}

@Override
protected void configure(HttpSecurity http) throws Exception {
http
.csrf().disable()
.formLogin()
.defaultSuccessUrl("/projects", true)
.loginPage("/login")
.permitAll()
.and()
.logout()
.logoutRequestMatcher(new AntPathRequestMatcher("/logout", "GET"))
.permitAll()
.and()
.authorizeRequests()
.antMatchers("/static/**").permitAll()
.anyRequest().authenticated();
}

}

最佳答案

无论应用程序是否安全,classpath:/static中的静态内容都在应用程序的根目录(即/*)中提供,因此您需要在根目录下的特定路径上进行匹配。默认情况下,Spring Boot允许所有访问/js/**/css/**/images/**(有关详细信息,请参见SpringBootWebSecurityConfiguration),但是您可能已将其关闭(看不到其余的代码)。

关于spring - 在 protected Spring Boot应用程序中访问静态内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22823863/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com