0

TomcatにSSLを介してログインを実装しようとしています。ログインサーブレットはIniciarSesionと呼ばれるため、web.xmlに以下を追加します。

<security-constraint>
            <web-resource-collection>
                <web-resource-name>Seguridad en Acceso</web-resource-name>
                 <url-pattern>/IniciarSesion</url-pattern>
            </web-resource-collection>
            <user-data-constraint>
             <transport-guarantee>CONFIDENTIAL</transport-guarantee>
            </user-data-constraint>
</security-constraint>

問題は、次のようにして入力パスワードを取得しようとしたときです。

String nick=(String)req.getParameter("login");

これはnullを返し、httpからhttpsに再修正するときにリクエストパラメータが失われます。

どうすればこれを解決できますか?

4

2 に答える 2

0

ログインページ(「ログイン」が定義されている)が保護されていないように聞こえます。HTTP経由で/iniciarSesionサーブレットにヒットすると、tomcatはSSLサイトへのHTTPリダイレクトを実行します。真のリダイレクトでは、サーバーに最初に送信されたデータが保持されないため、データが失われます。私の提案は、CONFIDENTIALスコープにログインページを含めることです。

于 2012-10-26T13:43:15.100 に答える
0

SSL の要点は、トランスポートを保護することです。最初にログイン資格情報を http 経由で送信する場合、情報は既に「平文で」送信されているため、https にリダイレクトしても意味がありません。フォームの URL を明示的に設定するか、https 経由でログイン ページをロードすることにより、ログイン フォームを https URL に投稿します。これには、ログイン サーブレットと同様に、保護されたリソースとしてログイン ページを追加する必要があります。

于 2012-10-26T14:04:24.030 に答える