Tomcat, сохраняйте сеанс при переходе с HTTPS на HTTP

У меня есть приложение Java, работающее на Tomcat 6.0.29, с Apache 2.2.3 впереди. Страница входа использует HTTPS, в то время как большинство страниц используют HTTP.

Если пользователь пытается получить доступ к странице (HTTP), которая защищена от входа, он перенаправляется на страницу входа (HTTPS), входит в систему, а затем перенаправляется обратно на первоначально запрошенная страница. Это отлично работает, поскольку файл cookie JSESSIONID настроен как незащищенный и используется как для HTTP, так и для HTTPS.

Однако, если пользователь запускается со страницы входа (HTTPS), cookie JSESSIONID устанавливается как безопасный, и, следовательно, сеанс недоступен после входа в систему при перенаправлении на страницы по протоколу HTTP, принудительном новом сеансе и повторном перенаправлении на страницу входа. На этот раз это работает, потому что на этот раз файл cookie JSESSIONID установлен как незащищенный.

Как я могу избежать того, чтобы пользователям приходилось дважды входить в систему, когда они сначала попадают на страницу входа?

11
задан rlovtang 8 January 2011 в 18:23
поделиться