前后端分离 跨域 sessionid保持一致

2024-06-13 16:08

本文主要是介绍前后端分离 跨域 sessionid保持一致,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

          阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买

1.前端开发使用的VUE,后端使用的java,前后端分离,解决方法如下:

前端要将withCredentials设为true

以ajax请求为例:

[javascript]  view plain  copy
  1. $.ajax({  
  2.    url: a_cross_domain_url,  
  3.    // 将XHR对象的withCredentials设为true  
  4.    xhrFields: {  
  5.       withCredentials: true  
  6.    }  
  7. });  

vue设置:

后端设置,以java为例,其他语言类似:

[java]  view plain  copy
  1. httpResponse.setHeader("Access-Control-Allow-Credentials""true");  
  2. httpResponse.setHeader("Access-Control-Allow-Origin""http://192.168.199.240:8081");  
  3. httpResponse.setHeader("Access-Control-Allow-Headers""Content-Type, Access-Control-Allow-Headers, Authorization, X-Requested-With");  

 

Access-Control-Allow-Credentials 设为true的话,Access-Control-Allow-Origin就不能设为*了,只好改成具体的域了,这样就可以多次请求取到的sessionid就一致了。

 

 

 

 

前端开发使用的jquery,后端使用的java,前后端分离,解决方法如下:

[html]  view plain  copy
  1. <!DOCTYPE html>  
  2. <html>  
  3.     <head>  
  4.         <meta charset="utf-8" />  
  5.         <title></title>  
  6.         <script type="text/javascript" src="js/jquery-1.9.0.js" ></script>  
  7.         <script type="text/JavaScript">  
  8.             function denglu(){  
  9.                 alert("进入单击事件");      
  10.                 var username=document.getElementById("adminUser").value;  
  11.                 alert("username:"+username);  
  12.                 var pass=document.getElementById("passWord").value;  
  13.                 alert("password:"+pass);  
  14.                 $.ajax({  
  15.                     contentType:'application/json',  
  16.                     xhrFields: {  
  17.                         withCredentials: true  
  18.                     },  
  19.                     type:"post",  
  20.                     data: JSON.stringify({  
  21.                         adminUser:username,  
  22.                         passWord:pass  
  23.                     }),  
  24.                     url:"http://localhost/api/admin/login/loginAdmin",  
  25.                     success: function(data){  
  26.                         alert(data);  
  27.                         alert("成功");  
  28.                         //window.location.href = 'main.html';  
  29.                     }  
  30.                 });  
  31.             }  
  32.               
  33.             function huoqu(){  
  34.                 alert("进入单击事件");      
  35.                 $.ajax({  
  36.                     xhrFields: {  
  37.                         withCredentials: true  
  38.                     },  
  39.                     type:"get",  
  40.                     date:{},  
  41.                     url:"http://localhost/api/admin/login/getSessionAdmin",  
  42.                     success: function(data){  
  43.                         alert(data);  
  44.                         alert("成功");  
  45.                     }  
  46.                 });  
  47.             }  
  48.         </script>  
  49.     </head>  
  50.     <body>  
  51.             用户名:<input type="text" id="adminUser" name="adminUser"/><br />  
  52.             密码:<input type="text" id="passWord" name="passWord"/><br />  
  53.             <input type="button" id="tj" value="登录" onclick="denglu();"/>  
  54.             <input type="button" onclick="huoqu();" value="查询当前seesion中的管理员"/>  
  55.     </body>  
  56. </html>  

 

 

 

 

 

主要在于get、post提交时参数的问题

get提交

 

post提交

          阿里云低价服务器1折特惠,优惠爽翻天,点我立即低价购买

这篇关于前后端分离 跨域 sessionid保持一致的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1057778

相关文章

Spring Security+JWT如何实现前后端分离权限控制

《SpringSecurity+JWT如何实现前后端分离权限控制》本篇将手把手教你用SpringSecurity+JWT搭建一套完整的登录认证与权限控制体系,具有很好的参考价值,希望对大家... 目录Spring Security+JWT实现前后端分离权限控制实战一、为什么要用 JWT?二、JWT 基本结构

SpringBoot实现数据库读写分离的3种方法小结

《SpringBoot实现数据库读写分离的3种方法小结》为了提高系统的读写性能和可用性,读写分离是一种经典的数据库架构模式,在SpringBoot应用中,有多种方式可以实现数据库读写分离,本文将介绍三... 目录一、数据库读写分离概述二、方案一:基于AbstractRoutingDataSource实现动态

Springboot处理跨域的实现方式(附Demo)

《Springboot处理跨域的实现方式(附Demo)》:本文主要介绍Springboot处理跨域的实现方式(附Demo),具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不... 目录Springboot处理跨域的方式1. 基本知识2. @CrossOrigin3. 全局跨域设置4.

springboot security之前后端分离配置方式

《springbootsecurity之前后端分离配置方式》:本文主要介绍springbootsecurity之前后端分离配置方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的... 目录前言自定义配置认证失败自定义处理登录相关接口匿名访问前置文章总结前言spring boot secu

Spring MVC跨域问题及解决

《SpringMVC跨域问题及解决》:本文主要介绍SpringMVC跨域问题及解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录跨域问题不同的域同源策略解决方法1.CORS2.jsONP3.局部解决方案4.全局解决方法总结跨域问题不同的域协议、域名、端口

关于Nginx跨域问题及解决方案(CORS)

《关于Nginx跨域问题及解决方案(CORS)》文章主要介绍了跨域资源共享(CORS)机制及其在现代Web开发中的重要性,通过Nginx,可以简单地解决跨域问题,适合新手学习和应用,文章详细讲解了CO... 目录一、概述二、什么是 CORS?三、常见的跨域场景四、Nginx 如何解决 CORS 问题?五、基

springboot将lib和jar分离的操作方法

《springboot将lib和jar分离的操作方法》本文介绍了如何通过优化pom.xml配置来减小SpringBoot项目的jar包大小,主要通过使用spring-boot-maven-plugin... 遇到一个问题,就是每次maven package或者maven install后target中的ja

配置springboot项目动静分离打包分离lib方式

《配置springboot项目动静分离打包分离lib方式》本文介绍了如何将SpringBoot工程中的静态资源和配置文件分离出来,以减少jar包大小,方便修改配置文件,通过在jar包同级目录创建co... 目录前言1、分离配置文件原理2、pom文件配置3、使用package命令打包4、总结前言默认情况下,

异构存储(冷热数据分离)

异构存储主要解决不同的数据,存储在不同类型的硬盘中,达到最佳性能的问题。 异构存储Shell操作 (1)查看当前有哪些存储策略可以用 [lytfly@hadoop102 hadoop-3.1.4]$ hdfs storagepolicies -listPolicies (2)为指定路径(数据存储目录)设置指定的存储策略 hdfs storagepolicies -setStoragePo

计算机毕业设计 大学志愿填报系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

🍊作者:计算机编程-吉哥 🍊简介:专业从事JavaWeb程序开发,微信小程序开发,定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事,生活就是快乐的。 🍊心愿:点赞 👍 收藏 ⭐评论 📝 🍅 文末获取源码联系 👇🏻 精彩专栏推荐订阅 👇🏻 不然下次找不到哟~Java毕业设计项目~热门选题推荐《1000套》 目录 1.技术选型 2.开发工具 3.功能