2

web.xml を使用してフォームログインを定義する古いサーブレット ABC があります (これは別の JAR ファイルに保存され、パス WEB-INF\lib の下の WAR に統合された別のサーブレット XYZ です):

<login-config>
  <auth-method>FORM</auth-method>
  <form-login-config>
    <form-login-page>/login</form-login-page>
    <form-error-page>/login?event=Retry</form-error-page>
  </form-login-config>
</login-config>

ここで、新しいサーブレット 3.0 アノテーションを使用してサーブレット ABC を移行しました。と注釈が@WebServletあります。@ServletSecurityしかし、ログイン構成がフォームベースのログイン ( auth-methodweb.xml 内) であり、webcontainer が要求をリダイレクトする URL (web.xml 内) を定義するにはどうすればよいform-login-pageでしょうか? form-b​​ased-login を使用する場合はデプロイメント記述子を使用する必要があるという注意書きのあるチュートリアルを見つけました。

サーブレット 3.0 仕様では、これに関するコメントは見つかりませんでした。これが正しいかどうか誰か知っていますか?または、デプロイメント記述子を使用できないようにする注釈やその他の方法はありますか?

4

1 に答える 1

4

ステファン、

私は、アプリケーションのすべての注釈構成も見つけようとしています。

その通りです。フォームベースの認証を構成する唯一の方法は、デプロイメント記述子 (web.xml または web-fragment.xml) を使用することです。

JSR-315 サーブレット 3.0 仕様 :: Ch13.6.3 (pg132)によると:

「Web アプリケーションのデプロイメント記述子には、ログイン フォームとエラー ページのエントリが含まれています...」

仕様は、フォーム ログイン構成の Web デプロイメント記述子のみを参照し、注釈ベースの構成は参照しません。

また、JSR-315 Servlet 3.0 Specification :: Ch8.1 (pg61-64)も参照してください。フォームベースの認証構成を実装するサーブレット アノテーションの概念はありません。

実際、Ch8 のすべて、特にJSR-315 サーブレット 3.0 仕様 :: Ch8.2.3 (pg72-84)を読むと非常に役に立ちます。 .

2013 年 5 月 28 日にリリースされたばかりの JSR-340 サーブレット 3.1 仕様仕様を簡単に調べました。フォームベースの認証構成に関する新しい規定は追加されていないようです。JSR-340 サーブレット 3.1 仕様 :: Ch13.6.3を参照してください。 (pg139) ...

幸運を ;)

于 2013-08-09T23:21:31.403 に答える