0

フォームベースの認証を使用する Java EE facelets Web アプリケーションがあります。

ユーザーが正常に認証された直後に、フィルターまたはリスナーが呼び出される必要があります。現在フィルターを追加しましたが、常に呼び出されます (ユーザーが認証する http 要求で、およびユーザーがまだ認証されている間、その後のすべての http 要求でも)。

ユーザーが正常に認証された http 要求でのみフィルターを呼び出すようにアプリケーション サーバーに指示するにはどうすればよいですか?

  <filter>
    <filter-name>successfullLoginFilter</filter-name>
    <filter-class>com.example.SuccessfullLoginFilter</filter-class>
  </filter>

  <filter-mapping>
    <filter-name>successfullLoginFilter</filter-name>
    <url-pattern>/*</url-pattern>
  </filter-mapping>

  <login-config>
    <auth-method>FORM</auth-method>
    <form-login-config>
      <form-login-page>/authentication.jsp</form-login-page>
      <form-error-page>/login.failed</form-error-page>
    </form-login-config>
  </login-config>
4

1 に答える 1

0

2 つのことが必要です: 1. 他のフィルターへの呼び出しの後にコードを記述します。そのようにして、応答後に反応します。2. 常に呼び出されることを意味する /* の url-pattern があります。認証用の URL パターンがある場合、そのパターンと一致する URL の後にのみ呼び出されます。ログインを成功させるための新しいパターンがある場合は、それを url-pattern 定義として使用できるため、さらに簡単になります。

于 2013-01-27T11:46:40.683 に答える