0

解決方法がわからない奇妙なケースがあります。

ユースケース: 単純な古いサーブレットと jsp を使用して構築されたレガシー アプリケーションがあり、JSF 2 を使用して構築された別のアプリケーションを呼び出す必要があります。JSF 2 は、フォーム ベースの認証を使用してコンテナー管理セキュリティを使用しています。

レガシー アプリケーションには、JSF 2 アプリケーションへのユーザー認証を自動的に行うためのページがあります。

<HTML>
    <HEAD>
       <script>
          function doLogin() {
             document.loginform.action="http://localhost:6060/MyApp/faces/j_security_check";
             document.loginform.submit();
          }
       </script>
    </HEAD>
    <BODY>
       <FORM id="loginform" name="loginform" method="POST">
          <input type="text" id="j_username" name="j_username">
          <input type="password" id="j_password" name="j_password">
          <input type="button" onClick="doLogin()">
       </FORM>
    </BODY>
</HTML>

私の問題は、認証メカニズムをプログラムで呼び出すにはどうすればよいですか? 従来のアプリケーションと JSF 2 アプリケーションの認証メカニズムは異なるため、認証を 2 回行う必要があります。

上記のコードを試してみたところ、ログインに成功しました。ただし、ユーザーが無効なユーザー ID とパスワードをログに記録すると、ログイン ページにリセットされ、jsf2 アプリケーションの無効なユーザー ID/パスワード ページに転送されません。誰もこれをやったことがありますか?

4

1 に答える 1

0

web.xml で以下のように構成されたエラー ページが必要です。

<form-error-page>/fail_login.html</form-error-page>

<form-error-page>適切な Web ページに移動するリダイレクトを設定できます。

于 2012-12-21T01:38:46.127 に答える