我想将会话cookie设置为“安全”,但我希望能够在某些测试盒上使用http访问应用程序,在上层环境中使用https。
我用这种方式将JSESSIONID设置为cookie-secure = true:
weblogic.xml中:
<session-descriptor>
<cookie-http-only>true</cookie-http-only>
<cookie-secure>true</cookie-secure>
</session-descriptor>
HTTPS请求工作正常,但非ssl协议上的每个请求都会生成一个新的JSESSIONID。我可以使用其他一些设置来有条件地设置cookie安全吗?
答案 0 :(得分:4)
没有必要使JSESSIONID cookie安全。如果选中 Auth Cookie Enabled 标志,这是weblogic控制台中的默认值。
将AuthCookieEnabled设置为true会导致WebLogic Server实例在通过HTTPS连接进行身份验证时向浏览器发送新的安全cookie _WL_AUTHCOOKIE_JSESSIONID。设置安全cookie后,只有在从浏览器发送cookie时,才允许会话访问其他安全性受限的HTTPS资源。
因此,WebLogic Server使用两个cookie:JSESSIONID cookie和_WL_AUTHCOOKIE_JSESSIONID cookie。默认情况下,JSESSIONID cookie永远不会安全,但_WL_AUTHCOOKIE_JSESSIONID cookie始终是安全的。只有在使用加密通信通道时才会发送安全cookie。假设标准HTTPS登录(HTTPS是加密的HTTP连接),您的浏览器将获得两个cookie。
了解更多信息,请参阅 http://docs.oracle.com/cd/E23943_01/web.1111/e13711/thin_client.htm#autoId4