我有一个在glassfish 3.1.1上运行的web应用程序,struts2是一个弹簧。
在我实现struts2 ssl插件后,我遇到了一些与jsessionid cookie有关的问题。问题是,如果我直接转到https,cookie没有生成,我必须要求http版本的页面,然后struts2ssl插件重定向到https,一切都很好。第二个问题是我决定在用户登录后重新生成会话ID(为了防止会话固定),并且新的会话ID也没有写入cookie。有了这些,我决定使用url追加jsessionid,解决了这两个问题。正如你所料,这里还有另一个问题,那就是如果我尝试通过http://myServer:8080/MyApp访问应用程序,jsessionId会被正确附加,但如果通过glassfish虚拟主机访问相同的应用程序,则不会附加jsessionid了。
我怀疑vhost配置有问题....
任何想法?
谢谢,
答案 0 :(得分:1)
添加
<session-config>
<tracking-mode>
COOKIE
</tracking-mode>
</session-config>
根据规范,进入web.xml应该可以解决问题