zoukankan      html  css  js  c++  java
  • 跨域的配置类

    1、在项目中新建一个config的包,添加跨域的配置类

    package com.mashibing.config;
    
    import org.springframework.context.annotation.Bean;
    import org.springframework.context.annotation.Configuration;
    import org.springframework.web.cors.CorsConfiguration;
    import org.springframework.web.cors.UrlBasedCorsConfigurationSource;
    import org.springframework.web.filter.CorsFilter;
    
    @Configuration
    public class CorsConfig {
        private CorsConfiguration buildConfig() {
            CorsConfiguration corsConfiguration = new CorsConfiguration();
            //  你需要跨域的地址  注意这里的 127.0.0.1 != localhost
            // * 表示对所有的地址都可以访问
            corsConfiguration.addAllowedOrigin("*");
            //  跨域的请求头
            corsConfiguration.addAllowedHeader("*"); // 2
            //  跨域的请求方法
            corsConfiguration.addAllowedMethod("*"); // 3
            //加上了这一句,大致意思是可以携带 cookie
            //最终的结果是可以 在跨域请求的时候获取同一个 session
            corsConfiguration.setAllowCredentials(true);
            return corsConfiguration;
        }
        @Bean
        public CorsFilter corsFilter() {
            UrlBasedCorsConfigurationSource source = new UrlBasedCorsConfigurationSource();
            //配置 可以访问的地址
            source.registerCorsConfiguration("/**", buildConfig()); // 4
            return new CorsFilter(source);
        }
    }
    View Code

    或者可以在controller类的上面添加注解

    in(origins = "*",allowCredentials="true",allowedHeaders = "*",methods = {})

    LoginController.java

    package com.bjmsb.controller;
    
    import org.springframework.web.bind.annotation.CrossOrigin;
    import org.springframework.web.bind.annotation.RequestMapping;
    import org.springframework.web.bind.annotation.RestController;
    
    @RestController
    @CrossOrigin(origins = "*",allowCredentials="true",allowedHeaders = "*",methods = {})
    public class LoginController {
    
        @RequestMapping("/auth/2step-code")
        public boolean step_code2(){
            System.out.println("此请求是前端框架带的默认请求,可以不做任何处理,也可以在前端将其删除");
            System.out.println("step_code2");
            return true;
        }
    
        @RequestMapping("/auth/login")
        public String login(){
            System.out.println("login");
            return "success";
        }
    }
    View Code
  • 相关阅读:
    硬盘参数你都懂吗?(上)-从案例引发的讨论
    Python 面试题(下)
    Python 面试题(上)
    DNS 原理入门
    从硬盘设计思想到RAID改良之道
    (转)短信vs.推送通知vs.电子邮件:app什么时候该用哪种方式来通知用户?
    (转)移动端主动推送消息原理
    (转)OpenFire源码学习之十七:HTTP Service插件
    (转)openfire插件开发(二) 基于web的插件开发
    (转)openfire插件开发(一)
  • 原文地址:https://www.cnblogs.com/hulian425/p/14364910.html
Copyright © 2011-2022 走看看