Tomcat 7 で実行している Web アプリがあり、https と適切なポートを直接使用して、SSL とフォームベースの認証を正常に機能させることができました。ただし、ログイン ページに SSL を要求したいのですが、Web アプリのルートに移動すると、これが機能しないようです。たとえば、そこに行くとhttp://localhost:8080/ProjectManagementSystem/login.html
SSL にリダイレクトされますが、に行くとそうでhttp://localhost:8080/ProjectManagementSystem
はありません。後者はログイン ページにリダイレクトされますが、SSL に変更されません。
ログインページを独自のディレクトリに移動せずにこれは可能ですか (この質問のように)?
関連する web.xml の部分は次のとおりです。
<security-constraint>
<web-resource-collection>
<web-resource-name>PMS</web-resource-name>
<url-pattern>/login.html</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
<login-config>
<auth-method>FORM</auth-method>
<realm-name>ProjectManagementSystem</realm-name>
<form-login-config>
<form-login-page>/login.html</form-login-page>
<form-error-page>/error.html</form-error-page>
</form-login-config>
</login-config>
さまざまな構成を試しました (例: / のような追加の URL パターンを追加する) が、Web アプリのルートに移動したときにリダイレクトするものを取得できません。これが不可能なのか、それとも単に間違っているのかを教えていただければ幸いです。ありがとう。
ETA: 実際に先に進み、login.html を login/login.html に移動して変更しようとしましたが<url-pattern>/login/*</url-pattern>
、まだ機能しません。だから私は何か間違ったことをしているに違いないと思いますが、私の人生では何を理解することはできません.
ETA2: 私も試し<url-pattern>/*</url-pattern>
てみましたが、どれもうまく<url-pattern>*</url-pattern>
いき<url-pattern>*.html</url-pattern>
ませんでした...
ETA3: web.xml の別の部分と競合する場合に備えて、web-resource-name も変更しようとしましたが、それでもうまくいきませんでした。私はアイデアがありません。