Refused to execute script from ‘http://localhost:8080/login.html’
最近学习SpringSecurity,在添加了SpringSecurity依赖后导致原先的网站图片、js代码都显示不出来了,浏览器报错,代码如下
报错代码
Refused to execute script from 'http://localhost:8080/login.html' because its MIME type ('text/html') is not executable, and strict MIME type checking is enabled.
报错原因
原因,将静态页面、JS、img等资源都放在了resource的static文件夹下,导致security默认拦截了这些请求,从而访问页面时组件的事件不起作用,控制台报错如下
解决方法
方法一
在配置类中添加忽略静态资源,将静态资源放行
@Configuration
@EnableGlobalMethodSecurity(prePostEnabled = true)//开启方法授权的检测
public class SecurityConfig extends WebSecurityConfigurerAdapter {
@Override
public void configure(WebSecurity web) throws Exception {
//忽略静态路径
web.ignoring().antMatchers("/css/**","/js/**","/imgs/**");
}
@Override
public void configure(WebSecurity web) throws Exception {
//忽略静态路径
web.ignoring().antMatchers("/css/**","/js/**","/imgs/**");
}
}
方法二
可能SecurityConfig
配置类设置了白名单,可以取消设置,也可以设置为黑名单
//设置黑名单(需要登录才能访问资源) 顺序为: authorizeHttpRequests -> mvcMatchers -> authenticated -> anyRequest -> permitAll
String[] urls = {"/admin.html"};
http.authorizeHttpRequests()//对请求进行授权
.mvcMatchers(urls)//匹配某些路径
.authenticated()//要求通过认证的
.anyRequest() //任意请求
.permitAll(); //直接许可,即不需要认证即可访问
//设置白名单 顺序为: authorizeHttpRequests -> mvcMatchers -> permitAll -> anyRequest -> authenticated
/*String[] urls = {"/index.html","/","/reg.html", "/login.html", "/v1/banners/", "/v1/users/reg","/v1/users/login"};
http.authorizeHttpRequests()//对请求进行授权
.mvcMatchers(urls)//匹配某些路径
.permitAll() //直接许可,即不需要认证即可访问
.anyRequest() //任意请求
.authenticated();//要求通过认证的*/
}
成功解决
改为之后,问题解决,事件也起了作用,img、js都可以了文章来源:https://www.toymoban.com/news/detail-722919.html
文章来源地址https://www.toymoban.com/news/detail-722919.html
到了这里,关于Refused to execute script from ‘http://localhost:8080/login.html‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!