質問: ### 前提・実現したいこと お世話になっております。 WildFly上で稼働するWebシステムを開発しているのですが、 ログイン後の画面遷移に不具合があり、原因がわからず困っております。 ### 発生している問題 ログイン時の処理を行うマネージドビーンクラスで 次の画面へリダイレクトする処理を書いており、実際その通りに画面遷移するのですが、 遷移したその画面からさらに他の画面へ遷移しようとすると(画面上のリンクのクリック)、 ログイン画面に戻されてしまいます。 (ただしブラウザのURL欄は遷移しようとした画面のURLを示しているのが謎。。) ログイン画面以外の画面はすべて、web.xmlのsecurity-constraintに定義しているURLパターンに合致しています。 ### 試したこと ログイン認証のしくみはデータベース(PostgreSQL)を利用しており、 認証の機構自体は意図したとおりに動作していると思われます。 web.xmlのauth-constraintに定義されているロールのユーザでログインできますし、 定義されていないロールのユーザでログインしようとすると、503エラーで弾かれるので。 GlassFishでも試しましたが、全く同じ事象が発生しているので、 WildFlyに原因があるのではなく、基本的な設定を見落としているのかもしれません。 原因をご存じの方がいらっしゃいましたら お知恵をお貸しいただけますでしょうか。 以上よろしくお願いいたします。 ### 補足情報(言語/FW/ツール等のバージョンなど) OS:Windows10 Javaバージョン:1.8.0_131 アプリケーションサーバ:WildFly 10.1.0.Final
回答: 自己解決しました。 ログイン直後に、ログアウト処理が走っていたことが原因でした。(以下のコードのコメント行) で囲っていてもEL式が評価されてしまっていたようです。JSFは詳しくないのですがそんなものなんでしょうか? コメント行を削除したところ、正しく画面遷移が行われるようになりました。 コメントをいただきましたBlueMoon様ありがとうございました。 top.xhtmlより抜粋 ``` 〇〇〇〇 業務システム #{loginSession.role.roleName} #{loginSession.userAccount.userName} ```