如果还在为跨域问题烦恼,请查看博主的 解决angular+spring boot的跨域问题 那篇文章。
博主在项目开发过程中,遇到了由于跨域而导致的Session丢失问题,非常的恶心,但是经过在网上查阅各种资料,发现解决方法十分简单。
在我们每一次的数据请求中,浏览器都会向后台发送一个JSession,后台会根据这个值自动查找Id为JSession的那个session对象。但是当跨域时,JSession的值每次都会改变,后台就会以为是新的一个会话打开,于是又去创建了一个新的Session对象,而原来的Session对象就找不到了。
解决这个问题的方法很简单
首先在Angular请求中将withCredentials设为true,然后每次请求的头中就会带有cookie的值,cookie中就记录了JSession值,因此Session就不会丢失了。