2011-11-24 62 views
1

我有一個web應用程序,運行在glassfish 3.1.1上,帶有struts2彈簧。
在我實現了struts2 ssl插件之後,我遇到了一些與jsessionid cookie相關的問題。問題是,如果我直接轉到https,則cookie不會生成,我必須要求http版本的頁面,然後struts2ssl插件將我重定向到https,並且一切正常。第二個問題是,我決定在用戶​​登錄後重新生成會話ID(爲了防止會話固定),新的會話ID也沒有寫入cookie。有了這些,我決定使用url追加的jsessionid,它解決了這兩個問題。正如你期望的那樣,這裏還有另外一個問題,這就是如果我試圖通過http://myServer:8080/MyApp訪問應用程序,jsessionId會被正確添加,但是如果通過glassfish虛擬主機訪問同一個應用程序,那麼jsessionid不再被附加。
我懷疑虛擬主機配置有問題....
任何ideea?

感謝,jsessionid in url glassfish

+1

我同意你的看法,這似乎是在GlassFish一個問題,而不是Struts2的 –

+0

會話id /會話維護是容器的責任,struts2不涉及。 – Quaternion

回答

0

添加

<session-config> 
     <tracking-mode> 
      COOKIE 
     </tracking-mode> 
    </session-config> 

到web.xml中應該做的伎倆,根據規範