• 145558

    文章

  • 857

    评论

  • 13

    友链

  • 最近新加了换肤功能,大家多来逛逛吧~~~~
  • 喜欢这个网站的朋友可以加一下QQ群,我们一起交流技术。

SpringSecurity-10. 解决跨域访问问题


SpringSecurity-10. 解决跨域访问问题

第一类解决方案:前端解决方案

html的Script标签

html的link标签

html的img标签

html的iframe标签:对于使用jsp、freemarker开发的项目,这是实现跨域访问的最常见的方法

第二类方案:使用代理

第三类方案:CORS

Access-Control-Allow-Orign: 允许哪些IP或域名可以跨域访问

Access-Control-Max-Age:    表示在多少秒之内不需要重复校验该请求的跨域访问权限

Access-Control-Allow-Methods:    表示允许跨域请求的HTTP方法,如GET,POST,PUT,DELETE

Access-Control-Allow-Headers:    表示访问请求中允许携带哪些Header信息,如:Accept、Accept-Language、Content-language、Content-Type

Springboot中进行Cors跨域访问的方法

以下四种方法在SpringSecurity环境下全部失效

SpringSecurity中推荐的跨域访问的方法

1.    SecurityConfig中配置开启CORS

配置 http.cors后,以上方法都可以生效,推荐下面的配置

protected void configure(HttpSecurity http) throws Exception {
        http.cors().and()
.....

}

2.    配置跨域组件    CorsConfigurationSource

    /*CORS跨域配置*/
    @Bean
    CorsConfigurationSource corsConfigurationSource(){
        CorsConfiguration configuration=new CorsConfiguration();
        configuration.setAllowedOrigins(Arrays.asList("http://localhost:8888"));
        configuration.setAllowedMethods(Arrays.asList("GET","POST"));
        configuration.applyPermitDefaultValues();
        UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
        source.registerCorsConfiguration("/**",configuration);
        return source;
    }

3.    测试脚本

        var headers={};
        headers['JWTHeaderName']="eyJhbGciOiJIUzUxMiJ9.eyJleHAiOjE2MTA2MzUwMDksInN1YiI6ImFkbWluIiwiY3JlYXRlZCI6MTYxMDYzMTQwOTU0N30.qtWbFQo3PJjGcdRKbjL4ZIKjdLrCZ5fq_ZM6TivdIwL777i6eRoo1smHytH4698i0OPU5HxBN1_wsDEZE0sdKg";
        $.ajax({
            type: "POST",
            url: "http://localhost:8889/hello",//loginProcessingUrl
            headers:headers,
            success: function (json) {
                console.log(json);
               alert("跨域请求配置成功!")
            },
            error: function () {
                alert("跨域请求配置失败!")
            }
        })

 


695856371Web网页设计师②群 | 喜欢本站的朋友可以收藏本站,或者加入我们大家一起来交流技术!

0条评论

Loading...


发表评论

电子邮件地址不会被公开。 必填项已用*标注

自定义皮肤 主体内容背景
打开支付宝扫码付款购买视频教程
遇到问题联系客服QQ:419400980
注册梁钟霖个人博客