文章目录
1. 说明
后端使用CORS解决跨域问题,会导致axios请求不再携带cookie., 因此在需要使用session
的场合的时候,后端给即使前端设置了JSESSIONID
,后端的请求也不会携带其到请求头中。
2. 解决方案
2.1 后端
这里使用的是 Servlet
的Filter
进行响应头的改写,其他语言只用关注如何改写响应头即可
Access-Control-Allow-Origin
:必须设置为固定的固定的IP
地址,前端项目部署机器的固定地址。Access-Control-Allow-Credentials
:告诉前端可以携带Cookie
.- 其他请求头为解决跨域问题而存在的,如果需要的解决跨域问题则可以使用,如果仅仅是为了解决不能携带
Cookie
的问题,则使用上面两个响应头即可。
@Override
public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain filterChain) throws IOException, ServletException {
HttpServletResponse response =