2011-09-27 72 views
2

我想將'secure'標誌設置爲JSESSIONID cookie。在tomcat 6中有配置嗎?將'secure'標誌設置爲JSESSION id cookie

我嘗試通過在server.xml的'連接器'(8080)元素中設置'secure ='true'',但它會產生問題....這就是連接正在重置。

請注意,在我的應用程序中,JSESSIONID是以'http'模式(索引頁)創建的,當用戶登錄時,它將切換到'https'模式。

+0

這是Tomcat的正確行爲。您的會話將在HTTP時間以JSESSIONID開始,這將在HTTPS上更改爲不同的會話。那麼你到底想做什麼? – JoseK

+0

你最終弄明白了嗎? –

回答

3

如果您使用的是Tomcat 6,你可以瞭解更多信息

+0

我知道這是一箇舊的答案,但這個代碼片段究竟會去哪裏呢? – ninjasense

+0

根據您的servlet api的版本,您有兩個選項。 1.)舊的servlet <3不會自動設置該標誌。你需要在過濾器2中實現這個)新servlet api有一個配置選項。你不需要寫任何你可以相應地設置配置的東西。 –

0

使用屬性useHttpOnly = 「真」 做了以下解決方法

String sessionid = request.getSession().getId(); 
response.setHeader("SET-COOKIE", "JSESSIONID=" + sessionid + "; secure ; HttpOnly"); 

看到https://www.owasp.org/index.php/HttpOnly。在Tomcat9中,默認值爲true。