Spring Boot前后端分离跨域问题

Posted 风雪夜归猿

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring Boot前后端分离跨域问题相关的知识,希望对你有一定的参考价值。

在SpringBoot+Spring Security的服务器端加入如下代码,已解决跨域带来的问题

import java.io.IOException;


import javax.servlet.Filter;

import javax.servlet.FilterChain;

import javax.servlet.FilterConfig;

import javax.servlet.ServletException;

import javax.servlet.ServletRequest;

import javax.servlet.ServletResponse;

import javax.servlet.http.HttpServletRequest;

import javax.servlet.http.HttpServletResponse;


import org.springframework.context.annotation.Configuration;

import org.springframework.core.Ordered;

import org.springframework.core.annotation.Order;


@Order(Ordered.HIGHEST_PRECEDENCE)

@Configuration

public class CorsFilter implements Filter {


    @Override

    public void init(FilterConfig filterConfig) throws ServletException {


    }


    @Override

    public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {

        HttpServletRequest request = (HttpServletRequest) servletRequest;

        HttpServletResponse response = (HttpServletResponse) servletResponse;

        response.setHeader("Access-Control-Allow-Origin","*");

        response.setHeader("Access-Control-Allow-Credentials","true");

        response.setHeader("Access-Control-Allow-Methods","POST,GET,OPTIONS,PUT,DELETE,PATCH,HEAD");

        response.setHeader("Access-Control-Allow-Max-Age","3600");

        response.setHeader("Access-Control-Allow-Headers","*");

        if("OPTIONS".equalsIgnoreCase(request.getMethod())){

            response.setStatus(HttpServletResponse.SC_OK);

        }else{

            filterChain.doFilter(servletRequest,servletResponse);

        }

    }


    @Override

    public void destroy() {


    }

}

 

以上是关于Spring Boot前后端分离跨域问题的主要内容,如果未能解决你的问题,请参考以下文章

spring boot+vue前后端项目的分离(我的第一个前后端分离项目)

前后端分离下spring security 跨域问题等

vue + spring boot + spring security 前后端分离 携带 Cookie 登录实现 只写了个登录

Spring Boot2 跨域问题

八个开源的 Spring Boot 前后端分离项目,一定要收藏!

Spring Boot + Shiro 实现前后端分离权限控制