在我的应用程序中,用户访问的Login.xhtml
第一个页面可以是安全 HTTPS 页面。因此,当我在 Chrome 上检查 cookie 时,它最初是为Secure connections only
. 因此,在用户成功登录后,我无法使用该 cookie 将他重定向到任何非安全页面。
如果您能告诉我如何使我的 cookie 成为不安全的,即使是在第一次 HTTPS 请求中,我将不胜感激。
在您的 sun-web.xml 中,使用 cookieSecure 属性更改 cookie 属性
<?xml version="1.0" encoding="UTF-8"?>
<sun-web-app>
<session-config>
<cookie-properties>
<b><property name="cookieSecure" value="false"/></b>
</cookie-properties>
</session-config>
以下是您可以设置的每个值的说明:
true:容器代表 Web 应用程序创建的任何 JSESSIONID cookie 都将被标记为安全的。
false:容器代表 Web 应用程序创建的任何 JSESSIONID cookie 都将被标记为不安全。
动态:由容器代表 Web 应用程序创建的 JSESSIONID cookie 将从发起相应会话的请求继承其安全设置:如果会话由 HTTPS 请求发起,则其 JSESSIONID cookie 将被标记为安全,并且将否则保持不安全。这是默认设置。
requireSSL="False"
在服务中设置属性web.config
。
httpCookies httpOnlyCookies="true" requireSSL="false" lockItem="true"