2

在我的JSP/servlet应用程序中,一些页面位于 https 中,而其他页面仅位于 http 中。登录页面在 https 中,我注意到当我登录并重定向到 http 页面时,会话没有被维护。有人可以帮我解决这个问题吗?

4

2 回答 2

1

你不应该从 HTTPS 转移到 HTTP,因为你会失去机密性

如果您仍然希望这样做,您可以手动将会话 ID 从登录 (HTTPS) 传递到重定向页面 (HTTP)。

SSL 会话 ID(属性名称 - javax.servlet.request.ssl_session_id)不应被泄露,因此它不会被转移到 HTTP。

于 2013-02-25T13:16:38.647 回答
0

那是因为您指向的重定向 url 没有jsessionid

尝试这个

response.sendRedirect(response.encodeRedirectURL(contextPath + "/myServlet"));

但请注意,由于您在 url 中公开 sessionid,因此您将 webapp 公开为 Session Fixation Attack

于 2013-02-26T04:13:25.543 回答