前后端分离,跨域问题

来源:互联网 发布:淘宝客服工资怎么样 编辑:程序博客网 时间:2024/05/16 16:57

前后端分离,跨域问题,添加一个跨域的过滤器
添加JWT的时候,需要再headers里面带token和token-type,那么在CORSFilter 里面需要加上对应的response.setHeader里面添加对应的名字,如Authorization(登录返回的token)和token-type(登录返回的token_type)

在web.xml中添加过滤器:

<filter>      <filter-name>cors</filter-name>      <filter-class>com.mdl.core.filter.CORSFilter</filter-class>  </filter>  <filter-mapping>      <filter-name>cors</filter-name>      <url-pattern>/*</url-pattern>  </filter-mapping>
package com.mdl.core.filter;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.HttpServletResponse;import org.springframework.stereotype.Component;@Componentpublic class CORSFilter implements Filter{    public void doFilter(ServletRequest req, ServletResponse res, FilterChain chain) throws IOException, ServletException {        HttpServletResponse response = (HttpServletResponse) res;        response.setHeader("Access-Control-Allow-Origin", "*");        response.setHeader("Access-Control-Allow-Methods", "POST, GET, OPTIONS, DELETE");        response.setHeader("Access-Control-Max-Age", "3600");        response.setHeader("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, token-type, Accept,Authorization");       /* if ("OPTIONS".equals(request.method, ignoreCase = true)) {            response.status = HttpServletResponse.SC_OK;        } else {            chain.doFilter(req, res);        }*/        chain.doFilter(req, res);    }    public void init(FilterConfig filterConfig) {}    public void destroy() {}}
原创粉丝点击