开启Spring Security后,静态资源不再可用的原因是Spring Security默认会对所有的URL进行安全验证,包括静态资源的URL。为了解决这个问题,可以通过配置Spring Security来允许静态资源的访问。
在Spring Security中,可以通过以下几种方式来解决静态资源不可用的问题:
WebSecurity
的ignoring()
方法来忽略静态资源的访问。例如,可以添加以下配置来忽略所有静态资源:@Override
public void configure(WebSecurity web) throws Exception {
web.ignoring().antMatchers("/css/**", "/js/**", "/images/**");
}
上述配置中,/css/**
、/js/**
、/images/**
是静态资源的URL模式,可以根据实际情况进行修改。
/public/**
:@Override
protected void configure(HttpSecurity http) throws Exception {
http
.authorizeRequests()
.antMatchers("/public/**").permitAll()
.anyRequest().authenticated()
.and()
.formLogin()
.and()
.httpBasic();
}
上述配置中,/public/**
是静态资源的URL模式,可以根据实际情况进行修改。
/public/
:spring.resources.static-locations=classpath:/public/
上述配置中,classpath:/public/
是静态资源的目录,可以根据实际情况进行修改。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云