Refused to execute script from ‘http://localhost:8080/login.html‘

这篇具有很好参考价值的文章主要介绍了Refused to execute script from ‘http://localhost:8080/login.html‘。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

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默认拦截了这些请求,从而访问页面时组件的事件不起作用,控制台报错如下

Refused to execute script from ‘http://localhost:8080/login.html‘,emo时刻,http,html,java

解决方法

方法一

在配置类中添加忽略静态资源,将静态资源放行

@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都可以了

Refused to execute script from ‘http://localhost:8080/login.html‘,emo时刻,http,html,java文章来源地址https://www.toymoban.com/news/detail-722919.html

到了这里,关于Refused to execute script from ‘http://localhost:8080/login.html‘的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包