前端在请求后端代码,后端生成一个token,保存在session中,然后把token返回给前端。前端在之后的请求中每次都把token带着,后端拿token匹配session中的信息。但是vue跨域导致每次都刷新了session,导致session的信息丢失,解决办法是如下:
前端添加代码:
axios.defaults.withCredentials = true
后端代码如下:
@Order(ApiInterceptorOrder.CORS)
public class CorsIntercepter implements HandlerInterceptor {
@Override
public boolean preHandle(HttpServletRequest request,
HttpServletResponse response, Object handler) throws Exception {
/**
* 解决跨域每次刷新session的问题。
*/
response.setHeader("Access-Control-Allow-Credentials", "true");
response.setHeader("Access-Control-Allow-Headers", "Access-Control-Allow-Headers, Origin,Accept, X-Requested-With, Content-Type, Access-Control-Request-Method, Access-Control-Request-Headers,Authen