无法访问具有Spring安全配置的静态文件夹中的内容,通常是因为Spring Security的安全策略阻止了对静态资源的访问。
Spring Security默认会拦截所有请求,包括对静态资源的请求。如果没有正确配置,这些请求会被拒绝,导致无法访问静态资源。
在Spring Security配置类中,添加对静态资源的访问权限。以下是一个示例:
import org.springframework.context.annotation.Configuration;
import org.springframework.security.config.annotation.web.builders.HttpSecurity;
import org.springframework.security.config.annotation.web.configuration.EnableWebSecurity;
import org.springframework.security.config.annotation.web.configuration.WebSecurityConfigurerAdapter;
@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/static/**").permitAll() // 允许访问/static/路径下的所有资源
.anyRequest().authenticated()
.and()
.formLogin()
.loginPage("/login")
.permitAll()
.and()
.logout()
.permitAll();
}
}
在这个示例中,antMatchers("/static/**").permitAll()
表示允许所有用户访问/static/
路径下的所有资源。
确保你的静态资源文件放在正确的目录下,并且路径配置正确。例如,如果你的静态资源放在src/main/resources/static
目录下,那么访问路径应该是/static/
。
确保静态资源文件的权限设置正确,使得Web应用可以访问这些文件。
这种配置通常用于需要身份验证的Web应用中,确保用户在访问某些页面之前必须登录,同时允许未登录用户访问静态资源(如CSS、JavaScript文件)。
通过以上配置,你应该能够解决无法访问具有Spring安全配置的静态文件夹中的内容的问题。
领取专属 10元无门槛券
手把手带您无忧上云