社区
Java EE
帖子详情
后端springboot集成shiro+前端vue,前后端分离项目,sessionid拿不到问题、跨域问题。
很搞笑的在打麻将
2019-09-26 02:36:16
后端springboot集成shiro之后,shiro框架会在浏览器端存一个 JSESSIONID ,
之前传统项目中页面每次请求都会带上JSESSIONID 到后台在进行权限验证操作等等,
可是现在是前后端分离,用户是访问前端项目,前端再访问服务端,那么这个JSESSIONID 就存不到用户浏览器中,
还会出现跨域问题,不知各位大佬都是如何解决的。
...全文
1853
3
打赏
收藏
后端springboot集成shiro+前端vue,前后端分离项目,sessionid拿不到问题、跨域问题。
后端springboot集成shiro之后,shiro框架会在浏览器端存一个 JSESSIONID , 之前传统项目中页面每次请求都会带上JSESSIONID 到后台在进行权限验证操作等等, 可是现在是前后端分离,用户是访问前端项目,前端再访问服务端,那么这个JSESSIONID 就存不到用户浏览器中, 还会出现跨域问题,不知各位大佬都是如何解决的。
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
3 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
很搞笑的在打麻将
2019-09-29
打赏
举报
回复
跨域问题已经很轻易的 得到解决了 ,加了个spring注解即可,@CrossOrigin;
sessionid问题,最终个人解决方案是,用户登陆成功后,接口就返回给他sessionid,然后前端进行保存,后面每次请求都要在请求头上加上该值, AUTHORIZATION:0c82beaf-d2fa-424c-b6bb-5d6eff21a236
,后端需要修改一下shiro获取sessionid方式,具体如下:
1.首先自定义sessionManager会话管理bean;
2.修改获取sessionid方法;
如有异议欢迎下面坐,谢谢各位见解!
丁公子
2019-09-28
打赏
举报
回复
思路挺多的, 简单说几个吧 首先要说的是 JSESSIONID 是tomcat写到浏览器的, 跟shiro没什么关系, 有时候也叫SESSIONID, 这个具体跟你服务器有关, 也可以自定义名称, 在后端可以通过 request.getSession()拿到, 也可以通过 CookieUtils.getCookie("JESESSIONID")这种拿cookie的方式取到 1. 前后端分离,但部署时仍使用同一域名, 这样就不会存在跨域问题, 无论是前端静态代码, 还是前端node服务, 同一用nginx进行处理, 同理, 如果是2级域名,虽然域名不同, 也能做到cookie共享, 这样也可以拿到sessionid 2. 部署如果无法使用同一域名, 那么跨域问题就难免了, 需要跟前端共同研究下如何有效解决跨域问题, 后端其实加一些spring注解即可, 查下spring跨域即可 3. 其实说到底, shiro只不过是要取当前登录信息, 你可以不用 SESSION 实现登录, 可以用token, 这样相当于账号系统独立出来了, 跟域就没什么关系了
BUG收集者
2019-09-26
打赏
举报
回复
main.js axios.defaults.withCredentials=true; 拦截器 response.setHeader("Access-Control-Allow-Origin", "*"); response.addHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE, OPTIONS"); response.setHeader("Access-Control-Allow-Headers", "Authorization, Accept, Origin, X-Requested-With, Content-Type, Last-Modified"); response.setHeader("Access-Control-Allow-Credentials", "true");
国央企创新负责人如何通过产业大脑实现产业链协同与能力对接?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
源码:数字电源STM32G474-PFC-DCtoAC逆变器程序源码.rar
尖叫的变压器,数字电源
Creo 机床数据库完整程序文件直下入口.rar
Creo 机床数据库完整程序文件直下入口.rar
易语言源码易语言服务器组手机控制原码
易语言源码易语言服务器组手机控制原码
高校技术转移办公室人员如何借助产业大脑推动科技成果落地?.docx
科易网基于40亿+科创知识图谱数据库,深度探索AI技术在技术转移、成果转化、技术经纪、知识产权、产业创新、科技招商等垂直领域的多样化应用场景,研究科技创新领域的AI+数智化解决方案,推动科技创新与产业创新智能化发展。
Java EE
67,535
社区成员
225,852
社区内容
发帖
与我相关
我的任务
Java EE
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
复制链接
扫一扫
分享
社区描述
J2EE只是Java企业应用。我们需要一个跨J2SE/WEB/EJB的微容器,保护我们的业务核心组件(中间件),以延续它的生命力,而不是依赖J2SE/J2EE版本。
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
暂无公告
试试用AI创作助手写篇文章吧
+ 用AI写文章