У меня есть веб-приложение j2ee, использующее аутентификацию на основе форм JAAS. Однако из-за некоторых необычных требований я не могу позволить пользователю ввести свое имя пользователя и пароль непосредственно в форму logon.jsp и попросить их отправить его. Вместо этого я должен собрать данные на отдельной странице, а затем перенаправить на logon.jsp, чтобы войти в систему.
Я собираюсь сохранить незашифрованное имя пользователя / пароль в HTTPSession. Когда я готов к аутентификации, я использую response.redirect для маршрутизации в logon.jsp. В logon.jsp я извлекаю имя пользователя и пароль из сеанса, заполняю стандартную форму «j-security-check» и затем использую javascript для отправки формы.
Насколько это дыра в безопасности? Мне неудобно перенаправлять запрос на переход к logon.jsp через браузер (это делает редирект), потому что кто-то может получить доступ к сеансу и, следовательно, незашифрованный пароль. Если я использую HTTPS / SSL, это вероятная ситуация? Как это будет эксплуатироваться?
Я смотрел на вызов сервлета входа непосредственно в JSP без использования формы, но это не представляется приемлемым вариантом, особенно из-за того, что я потерял изоляцию от разных контейнеров / серверов приложений J2EE.
Кто-нибудь понял, как я могу ограничить эту дыру в безопасности? Будет ли лучше использовать пересылку, а не перенаправление, потому что она не возвращается в браузер?
Насколько это плохо?