コンテナマネージドセキュリティを使用しているGlassFish3.0.1にデプロイされたWebアプリケーションがあります。これは、JDBCRealmに対してj_security_checkを使用する単純な標準形式ベースの実装です。アプリケーションのセキュリティ保護に関係することはすべて問題ありません(そして、過去に自分のセキュリティシステムを導入したことがあるとは信じられません)。
しかし、私が理解できないのは、ユーザーが間違ったパスワードを入力した場合の対処方法です。「loginFailed.xhtml」ページは正しく表示されますが、ユーザーをログインページに(リンク経由または自動的に)戻して再試行したいと思います。
これを試したところ、login.xhtmlページに戻るリンクは正常に機能しますが、セキュリティシステムは、ユーザーが認証された後、ユーザーを送信しようとしている場所を忘れているようです。ユーザーが正しく認証すると、システムが存在しないページ(ログインページのURLの一部のマングルバージョン)を読み込もうとするため、例外が発生します。
ユーザーをホームページに戻して、そこから再試行させることはできると思いますが、それほど多くの問題を抱えたアプリケーションは長い間見たことがありません。すべてのアイデアと助けを感謝して受け取った...