https跳转到http session丢失问题
来源:互联网 发布:最新小米抢购软件 编辑:程序博客网 时间:2024/05/23 22:52
首先说下
http>https>http
session是不会丢失的。
这个就是用户登录时候通过http访问了首页,或者页面,然后点击登录按钮,跳转到https协议下,输入完毕用户名密码等信息,登录录成功,在服务端session放入当前登录用户信息.
这种跳转方式不会出现session丢失情况。
这时候,如果用户没有访问你的http页面,而是直接通过https访问你的登录页面,这时候就是
https>http
用户输入完用户名密码等信息,登录成功,在服务端session放入当前用户信息, 再跳转回http的页面, session就丢失了, 说丢失可能不严谨(其实session还在服务端保存,只是tomcat帮我们创建了新的session id导致我们的会话跟踪失效)
以上是问题的描述
下面说解决办法。 我的项目是ssh架构的, 其他语言或者架构触类旁通即可.
解决之前首先我们要明白 服务端跟踪客户端的会话是通过 浏览器每次提交的一个cookie表示 这个cookie的key是JSESSIONID,value是session的id,
浏览器请求时候就会带上这个,服务端就可以成功跟踪客户端了。
问题的解决原理说清楚了。 现在说说代码怎么写
这里就以我的项目为例了。
用户直接访问https的登录页面,我这里留给客户端的链接是要经过struts的action的。 在action中
- HttpServletRequest request = ServletActionContext.getRequest();
- HttpServletResponse response=ServletActionContext.getResponse();
- Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId());
- response.addCookie(cookie);
假如我们不这样写,tomcat会发给浏览器jsessionid是重新创建的,就会出现session丢失情况,这样写了之后再从https>http就不会有问题了。
上面如有不对, 欢迎批评指正!
原文地址:http://name327.iteye.com/blog/1591796
- https跳转到http session丢失问题
- https跳转到http session丢失问题
- https跳转到http session丢失问题
- http https session丢失
- http https session丢失
- Spring Security http切换https session丢失
- nginx http 跳转到https
- Https跳到http时session信息丢失的分析及解决方案
- Https跳到http时session信息丢失的分析及解决方案
- 前端页面跳转session丢失问题
- iframe Session丢失 使整个页面跳转到登陆页面问题
- CakePHP: HTTPS HTTP页面跳转导致登录信息丢失
- http登陆后跳转到https
- https 跳转到 http, referer获取
- Nginx配置http强制跳转到https
- Nginx跳转任意Http请求到Https
- http域名跳转到https域名
- HSTS 网站http跳转到https
- java 多线程1
- 【NOIP】Sequence——暴力
- (NO.00001)iOS游戏SpeedBoy Lite成形记(五)
- 软件测试的完整分类
- 垂直搜索架构(爬虫部分)
- https跳转到http session丢失问题
- React ——第一个程序
- javascript之jquery多级联动下拉框
- 一些资料的分享
- angularjs 多个ng-app
- hdoj1406-完数
- 【MySQL】【leetcode】 Employees Earning More Than Their Managers解题报告
- uCOS-III任务延时全过程
- JVM 堆内存原理解析