iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue+springboot跨域session+cookie失效怎么办
  • 429
分享到

vue+springboot跨域session+cookie失效怎么办

2024-04-02 19:04:59 429人浏览 八月长安
摘要

小编给大家分享一下Vue+SpringBoot跨域session+cookie失效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一

小编给大家分享一下Vue+SpringBoot跨域session+cookie失效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

环境:

前端 vue ip地址:192.168.1.205

后端 springboot2.0 ip地址:192.168.1.217

主要开发后端。

问题:

首先登陆成功时将用户存在session中,后续请求在将用户从session中取出检查。后续请求取出的用户都为null。

解决过程:

首先发现sessionID不一致,导致每一次都是新的会话,当然不可能存在用户了。然后发现cookie浏览器不能自动保存,服务器响应set-cookie了

vue+springboot跨域session+cookie失效怎么办

搜索问题,发现跨域,服务器响应的setCookie浏览器无法保存,而且就算保存了域名不同也不能携带。

第一步:

后台添加过滤器,因为前后端分离,不可能每个方法都写一遍,所以添加过滤器统一处理。

package com.test.filter;
import javax.servlet.*;
import javax.servlet.annotation.WEBFilter;
import javax.servlet.Http.httpservletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;
@WebFilter(urlPatterns = "
 @Override
 public void doFilter(ServletRequest servletRequest, ServletResponse servletResponse, FilterChain chain) throws ServletException, IOException {
  HttpServletRequest req = (HttpServletRequest) servletRequest;
  HttpServletResponse resp = (HttpServletResponse) servletResponse;
  String origin = req.getHeader("Origin");
  if(origin == null) {
   origin = req.getHeader("Referer");
  }
  resp.setHeader("Access-Control-Allow-Origin", origin);//这里不能写*,*代表接受所有域名访问,如写*则下面一行代码无效。谨记
  resp.setHeader("Access-Control-Allow-Credentials", "true");//true代表允许携带cookie
  chain.doFilter(servletRequest,servletResponse);
 }
 @Override
 public void init(FilterConfig filterConfig) throws ServletException {
 }
}

springboot2.配置过滤器时,启动类必须加上@ServletComponentScan才会加载过滤器

@SpringBootApplication
@EnableTransactionManagement(order = 10)
@ServletComponentScan
public class Application {
 public static void main(String[] args) {
  SpringApplication.run(Application.class, args);
 }
}

然后前端配置

使用vue.resource发送请求时配置如下:
main.js中
Vue.http.options.xhr = { withCredentials: true }
使用vue.axiOS发送请求时配置如下:
axios.defaults.withCredentials = true;
Jquery请求带上 xhrFields: {withCredentials: true}, crossDomain: true;
$.ajax({
 type: "post",
 url: "",
 xhrFields: {withCredentials: true},
 crossDomain: true,
 data: {username:$("#username").val()},
 dataType: "JSON",
 success: function(data){ }
});

此时问题已解决。

但我查看请求时,还是没有带cookie,太纠结于这一点了。以至于查看全部cookie时突然明白了。

vue+springboot跨域session+cookie失效怎么办

没有带cookie。

浏览器全部cookie

vue+springboot跨域session+cookie失效怎么办

已经有服务器的cookie了。当向服务器发送请求时,会携带cookie,证明是同一会话。

发现火狐的请求头中存在cookie,不知道为什么谷歌的请求头不显示,不明白。望解答。

vue+springboot跨域session+cookie失效怎么办

以上是“vue+springboot跨域session+cookie失效怎么办”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注编程网JavaScript频道!

--结束END--

本文标题: vue+springboot跨域session+cookie失效怎么办

本文链接: https://www.lsjlt.com/news/72887.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue+springboot跨域session+cookie失效怎么办
    小编给大家分享一下vue+springboot跨域session+cookie失效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一...
    99+
    2024-04-02
  • cookie失效怎么办
    如果你的cookie失效了,可以尝试以下方法:1. 清除浏览器缓存:打开浏览器设置,找到“清除缓存”或“清除浏览数据”的选项,勾选“Cookies和站点数据”选项,然后点击清除按钮。2. 重新登录:如果你使用的是需要登录的网站,尝试退出...
    99+
    2023-08-11
    cookie
  • SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决
    这篇文章主要介绍“SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决”,在日常操作中,相信很多人在SpringBoot中Ajax跨域及Cookie无法获取丢失问题怎么解决问题上存在疑惑,小编查阅了各式资料,整理出简单好...
    99+
    2023-07-05
  • Ajax跨域请求COOKIE无法带上怎么办
    这篇文章主要介绍了Ajax跨域请求COOKIE无法带上怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。1、原生ajax请求方式:1 va...
    99+
    2024-04-02
  • SpringSecurity导致SpringBoot跨域失效的问题解决
    目录1、CORS 是什么2、预检请求3、三种配置的方式3.1 @CrossOrigin 注解3.2 实现 WebMvcConfigurer.addCorsMappings 方法3.3...
    99+
    2023-01-11
    SpringSecurity SpringBoot跨域失效 SpringSecurity SpringBoot跨域
  • 设置cookie指定时间失效怎么办
    小编给大家分享一下设置cookie指定时间失效怎么办,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!实例如下:<!DOCTY...
    99+
    2024-04-02
  • 跨域设置Cookie失效问题解决方案原理分析
    目录问题出现场景代码实现如下登陆接口相关代码问题出现的解决方案如下反思和结语问题出现场景 在做登录功能时,想把用户的信息通过Set-cookie在客户端设置cookie信息。 1.服...
    99+
    2024-04-02
  • 基于VUE移动音乐WEBAPP跨域请求失败怎么办
    这篇文章主要介绍了基于VUE移动音乐WEBAPP跨域请求失败怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。虽然搞定了这个问题,但是很多...
    99+
    2024-04-02
  • SpringBoot自动配置失效怎么办
    小编给大家分享一下SpringBoot自动配置失效怎么办,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!问题描述下面是一个简单复现的代码片段,在你没有阅读完本文时,如果能做出正确的判断,那恭喜你可以节省阅读本文的时间了。自动...
    99+
    2023-06-25
  • php怎么判断session失效
    本篇内容主要讲解“php怎么判断session失效”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“php怎么判断session失效”吧!php判断session失效的方法:1、打开“php.ini...
    99+
    2023-07-04
  • javascript怎么在跨域请求中携带cookie
    这篇文章给大家分享的是有关javascript怎么在跨域请求中携带cookie的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。1. 搭建环境生成工程文件npm init安装 expressnpm ...
    99+
    2023-06-29
  • ajax操作全局监测,用户session失效怎么办
    这篇文章将为大家详细讲解有关ajax操作全局监测,用户session失效怎么办,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。ajax 操作全局监测,用户session失效...
    99+
    2024-04-02
  • 亚马逊服务器跨域请求失败怎么办
    1. 了解跨域请求 在开始解决亚马逊服务器跨域请求失败的问题之前,我们需要先了解什么是跨域请求。跨域请求是指在一个域名下的网页请求另一个域名下的资源,例如在 www.example.com 下的网页请求 api.example.com 下...
    99+
    2023-10-27
    亚马逊 服务器
  • session跨域后取不到值怎么解决
    在跨域的情况下,浏览器默认不允许通过Cookie或者LocalStorage访问跨域的页面。因此,如果你在session跨域后无法获...
    99+
    2023-08-15
    session
  • vue动画打包后失效怎么办
    这篇文章主要介绍了vue动画打包后失效怎么办,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。webpack 打包后动画未执行,就是npm ru...
    99+
    2024-04-02
  • 怎么解决springboot设置CorsFilter跨域不生效问题
    这篇文章主要讲解了“怎么解决springboot设置CorsFilter跨域不生效问题”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“怎么解决springboot设置CorsFilter跨域不...
    99+
    2023-06-25
  • vue怎么实现的跨域
    随着前端技术的不断发展,前端工程师们在制作网站时经常需要通过Ajax请求来获取数据。在这个过程中,很容易遇到跨域问题。本文将介绍Vue.js如何实现跨域请求的方式。JSONP跨域JSONP(JSON with Padding)是一种跨域数据...
    99+
    2023-05-18
  • SpringBoot怎么配置跨域过滤器允许跨域访问
    这篇文章主要讲解了“SpringBoot怎么配置跨域过滤器允许跨域访问”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“SpringBoot怎么配置跨域过滤器允许跨域访问”吧!SpringBoo...
    99+
    2023-07-02
  • 怎么解决SpringBoot跨域问题
    这篇文章给大家分享的是有关怎么解决SpringBoot跨域问题的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。允许全部请求跨域许可的代码需要继承WebMvcConfigurerAdapter类。@Configura...
    99+
    2023-06-28
  • springboot怎么解决跨域问题
    在Spring Boot中解决跨域问题可以通过以下几种方式: 使用注解@EnableWebMvc和@CrossOrigin:在S...
    99+
    2023-10-25
    springboot
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作