首页 > 其他分享 >SpringBoot过滤器工具类解决跨域问题模板

SpringBoot过滤器工具类解决跨域问题模板

时间:2022-12-01 18:03:06浏览次数:44  
标签:Control SpringBoot public Access headers setHeader response 模板 跨域

放入目录config即可

@Configuration
public class CorsConfig implements Filter {
    @Override
    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {
        HttpServletResponse response = (HttpServletResponse) res;
        HttpServletRequest request = (HttpServletRequest) req;

        String origin = request.getHeader("Origin");
        if(origin!=null) {
            response.setHeader("Access-Control-Allow-Origin", origin);
        }

        String headers = request.getHeader("Access-Control-Request-Headers");
        if(headers!=null) {
            response.setHeader("Access-Control-Allow-Headers", headers);
            response.setHeader("Access-Control-Expose-Headers", headers);
        }

        response.setHeader("Access-Control-Allow-Methods", "*");
        response.setHeader("Access-Control-Max-Age", "3600");
        response.setHeader("Access-Control-Allow-Credentials", "true");

        chain.doFilter(request, response);
    }

    @Override
    public void init(FilterConfig filterConfig) {

    }

    @Override
    public void destroy() {
    }
}

标签:Control,SpringBoot,public,Access,headers,setHeader,response,模板,跨域
From: https://www.cnblogs.com/hhhyh/p/16942209.html

相关文章

  • SpringBoot整合ElasticSearch-SpringData
    前言之前写过一篇SpringBoot整合ElasticSearch是使用的elasticsearch-rest-high-level-client,这篇文章使用Spring-Data来操作ElasticSearch。关于ElasticSearch的搭建我......
  • 实验6-模板类和文件
    task3:task3.1.cpp1#include<iostream>2#include<fstream>3#include<array>4#defineN55intmain()6{7usingnamespacestd;8array<int......
  • springboot启动报错:Failed to start bean ‘documentationPluginsBootstrapper‘
    今天启动时,突然报了这个错误,网上查了下是springboot版本和swagger版本之间的问题,解决办法如下:原因:这是因为Springfox使用的路径匹配是基于AntPathMatcher的,而SpringBoot......
  • mvc中使用视图模板cshtml动态生成generated文件
    一、原因在MVC中,经常会使用一些模板视图,这样会把公用的页面定好,各个功能模块就可以引用调用,无需每个页面都写相同的代码,如果后续修改,也需要在一个地方就可以更改内容。比如......
  • 实验6 模板类和文件I/O
    #include<iostream>#include<fstream>#include<array>#defineN5intmain(){usingnamespacestd;array<int,N>x{97,98,99,100,101};......
  • SpringBoot(六) - 阿里巴巴的EasyExcel
    1、依赖<!--阿里EasyExcelstart--><dependency><groupId>com.alibaba</groupId><artifactId>easyexcel</artifactId><version>2.1.7</version></depe......
  • SpringBoot(七) - Redis 缓存
    1、五大基本数据类型和操作1.1字符串-string命令说明setkeyvalue如果key还没有,那就可以添加,如果key已经存在了,那会覆盖原有key的值getkey如果key还没有,......
  • SpringBoot(九) - Swagger
    1、依赖<!--swagger核心--><dependency><groupId>io.springfox</groupId><artifactId>springfox-swagger2</artifactId><version>2.8.0</version></......
  • vscode+springboot+gradle
    vscode+springboot+gradle项目搭建demo目标:项目中抛弃所有xml格式文件啰嗦:  一直在用maven作为项目的依赖包管理,最近看到基于Java17的Springframwork6......
  • springboot 项目自动重启脚本及注册方式
    创建脚本文件/etc/init.d/prs_xml.jar 添加脚本chkconfig-add prs_xml.jar查看服务列表chkconfig--list 启动服务chkconfigprs_xml.jaron设置启动等级chk......