我有一个在 Tomcat 6.0.29 上运行的 Java 应用程序,前面是 Apache 2.2.3。登录页面使用 HTTPS,而大多数页面使用 HTTP。
如果用户尝试访问受登录保护的页面 (HTTP),他会被重定向到登录页面 (HTTPS),登录,然后被重定向回最初请求的页面。这很好用,因为 JSESSIONID cookie 设置为不安全的,并且用于 HTTP 和 HTTPS。
但是,如果用户从登录页面 (HTTPS) 开始,则 JSESSIONID cookie 设置为 Secure,因此在登录后重定向到 HTTP 下的页面时会话不可用,从而强制一个新会话并再次重定向到登录页面。不过这次它起作用了,因为这一次 JSESSIONID cookie 被设置为不安全的。
如何避免用户在第一次点击登录页面时必须登录两次?