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