论坛首页 Java企业应用论坛

Tomcat HTTPS 转向 HTTP 时, Session 丢失.

浏览 13360 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2012-08-09   最后修改:2012-08-09
yunnysunny 写道
sy197661944 写道
name327 写道
http://name327.iteye.com/admin/blogs/1591796
请LZ看下这个。 Https到http session会话跟踪失效的解决办法


HttpServletRequest request = ServletActionContext.getRequest(); 
        HttpServletResponse response=ServletActionContext.getResponse(); 
        Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
        response.addCookie(cookie); 

已经这么做了,后来同事发现,在 火狐 下有的插件可以修改 cookie 是不是安全的 cookie ,但没弄明白非安全的 cookie 和安全的 cookie 到底是哪里的区别 ,貌似是 secure 这个属性,但在服务器拿到的 cookie 也都还是false.

在深入就搞不通了.

servlet2.5中不支持获取sessionid。

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/
2.5的 api  HttpSession依然有getId方法,难道HttpSession的getId方法不起作用?
0 请登录后投票
   发表时间:2012-08-10  
name327 写道
yunnysunny 写道
sy197661944 写道
name327 写道
http://name327.iteye.com/admin/blogs/1591796
请LZ看下这个。 Https到http session会话跟踪失效的解决办法


HttpServletRequest request = ServletActionContext.getRequest(); 
        HttpServletResponse response=ServletActionContext.getResponse(); 
        Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
        response.addCookie(cookie); 

已经这么做了,后来同事发现,在 火狐 下有的插件可以修改 cookie 是不是安全的 cookie ,但没弄明白非安全的 cookie 和安全的 cookie 到底是哪里的区别 ,貌似是 secure 这个属性,但在服务器拿到的 cookie 也都还是false.

在深入就搞不通了.

servlet2.5中不支持获取sessionid。

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/
2.5的 api  HttpSession依然有getId方法,难道HttpSession的getId方法不起作用?

你可以获取,但是你获取的sessionid是无法反序列化成session对象的,参看这个地址:http://www.laolang.cn/back-end-develop/getsessionjava-servlet-api.html
0 请登录后投票
   发表时间:2012-08-10  
yunnysunny 写道
name327 写道
yunnysunny 写道
sy197661944 写道
name327 写道
http://name327.iteye.com/admin/blogs/1591796
请LZ看下这个。 Https到http session会话跟踪失效的解决办法


HttpServletRequest request = ServletActionContext.getRequest(); 
        HttpServletResponse response=ServletActionContext.getResponse(); 
        Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
        response.addCookie(cookie); 

已经这么做了,后来同事发现,在 火狐 下有的插件可以修改 cookie 是不是安全的 cookie ,但没弄明白非安全的 cookie 和安全的 cookie 到底是哪里的区别 ,貌似是 secure 这个属性,但在服务器拿到的 cookie 也都还是false.

在深入就搞不通了.

servlet2.5中不支持获取sessionid。

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/
2.5的 api  HttpSession依然有getId方法,难道HttpSession的getId方法不起作用?

你可以获取,但是你获取的sessionid是无法反序列化成session对象的,参看这个地址:http://www.laolang.cn/back-end-develop/getsessionjava-servlet-api.html


不知道你是理解偏题了还怎么回事。
我干嘛要反序列化成session对象呢? 我获取到jsessionid写回到客户端,客户端下次请求时候可以保证我在服务端得到的session对象和上一次访问得到的session对象是一样的。
0 请登录后投票
   发表时间:2012-08-11  
name327 写道
yunnysunny 写道
name327 写道
yunnysunny 写道
sy197661944 写道
name327 写道
http://name327.iteye.com/admin/blogs/1591796
请LZ看下这个。 Https到http session会话跟踪失效的解决办法


HttpServletRequest request = ServletActionContext.getRequest(); 
        HttpServletResponse response=ServletActionContext.getResponse(); 
        Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
        response.addCookie(cookie); 

已经这么做了,后来同事发现,在 火狐 下有的插件可以修改 cookie 是不是安全的 cookie ,但没弄明白非安全的 cookie 和安全的 cookie 到底是哪里的区别 ,貌似是 secure 这个属性,但在服务器拿到的 cookie 也都还是false.

在深入就搞不通了.

servlet2.5中不支持获取sessionid。

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/
2.5的 api  HttpSession依然有getId方法,难道HttpSession的getId方法不起作用?

你可以获取,但是你获取的sessionid是无法反序列化成session对象的,参看这个地址:http://www.laolang.cn/back-end-develop/getsessionjava-servlet-api.html


不知道你是理解偏题了还怎么回事。
我干嘛要反序列化成session对象呢? 我获取到jsessionid写回到客户端,客户端下次请求时候可以保证我在服务端得到的session对象和上一次访问得到的session对象是一样的。

我就不跟你说session的原理了。但是你说的这种功能,通过单纯的保存sessionid是无法实现的。信于不信,你试一下就知道。
0 请登录后投票
   发表时间:2012-08-12  
yunnysunny 写道
name327 写道
yunnysunny 写道
name327 写道
yunnysunny 写道
sy197661944 写道
name327 写道
http://name327.iteye.com/admin/blogs/1591796
请LZ看下这个。 Https到http session会话跟踪失效的解决办法


HttpServletRequest request = ServletActionContext.getRequest(); 
        HttpServletResponse response=ServletActionContext.getResponse(); 
        Cookie cookie = new Cookie("JSESSIONID", request.getSession().getId()); 
        response.addCookie(cookie); 

已经这么做了,后来同事发现,在 火狐 下有的插件可以修改 cookie 是不是安全的 cookie ,但没弄明白非安全的 cookie 和安全的 cookie 到底是哪里的区别 ,貌似是 secure 这个属性,但在服务器拿到的 cookie 也都还是false.

在深入就搞不通了.

servlet2.5中不支持获取sessionid。

http://docs.oracle.com/cd/E17802_01/products/products/servlet/2.5/docs/servlet-2_5-mr2/
2.5的 api  HttpSession依然有getId方法,难道HttpSession的getId方法不起作用?

你可以获取,但是你获取的sessionid是无法反序列化成session对象的,参看这个地址:http://www.laolang.cn/back-end-develop/getsessionjava-servlet-api.html


不知道你是理解偏题了还怎么回事。
我干嘛要反序列化成session对象呢? 我获取到jsessionid写回到客户端,客户端下次请求时候可以保证我在服务端得到的session对象和上一次访问得到的session对象是一样的。

我就不跟你说session的原理了。但是你说的这种功能,通过单纯的保存sessionid是无法实现的。信于不信,你试一下就知道。

项目都在用了, 还信与不信。。。。。。
0 请登录后投票
论坛首页 Java企业应用版

跳转论坛:
Global site tag (gtag.js) - Google Analytics