我們將應用程序從JBoss 5遷移到JBoss6,其中一個主要原因是利用了servlet 3.0的新功能。除了JBoss 6和servlet 3.0的一個新特性之外,一切都可以正常工作:即使請求是通過純HTTP進行的,也可以將會話cookie設置爲僅通過安全通道傳輸。這對我們來說是非常重要的安全功能,可以通過在web.xml中添加使用servlet 3.0的JBoss 6的會話安全功能問題
<secure>true</secure>
來實現。這是我們的web.xml的一部分:
<session-config>
<session-timeout>25</session-timeout>
<cookie-config>
<http-only>true</http-only>
<secure>true</secure>
</cookie-config>
<tracking-mode>COOKIE</tracking-mode>
當我們刪除
<secure>true</secure>
一切工作正常。當它位於那裏時,即使在安全頁面(HTTPS)或不安全頁面(HTTP)中,也會爲每個請求生成新的jsessionid。此外,登錄不起作用,因爲用安全憑證登錄後用戶被重定向回登錄頁面。
我想這可能也是Tomcat 7的問題,因爲它也使用servlet 3.0規範。任何意見將不勝感激。
問候
請原諒我的觀點,但恕我直言,JBoss AS 6幾乎和5一樣錯誤。要小心。只需看看狀態爲「關閉」和「不會修復」的JIRA票。爲什麼不是JBoss AS 7? –
@GrzesiekD感謝您的評論。事實上,我們現在已經遷移到了7個。這個問題現在已經快2年了。 – Alex
是的,你是對的。發表評論後,我注意到了這一點。 Mea culpa。 –