【回避方法あり】Payara 4.1.1.164には認証に関するバグがありました
環境
Payara Web ML 4.1.1.164 確認していませんが、Full Profileでも同じバグがある可能性があります。 また、4.1.1.163以前のバージョンには、このバグはありません。
現象
JDBCリソースやレルムの設定を正しく行っても、アプリケーションでフォーム認証ができません。 具体的には、ログイン画面から正しいID・パスワードを入力してログインしても、403エラーになります。
原因
「デフォルトロールマッピングのプリンシパル」の有効化が認識されないようです。 これは、管理コンソール・asadminコマンド・domain.xml直接書き換え、いずれを行なってもダメでした。
いつ修正されるのか
来年第1四半期にリリース予定のPayara 4.1.1.171で修正される予定です。
回避策
アプリケーションのWEB-INFフォルダにglassfish-web.xml
というファイルを作成し、下記のように記述してください。
こうすると、うまく「デフォルトロールマッピングのプリンシパル」の有効化が認識されるようになります。
<glassfish-web-app> <property name="default-role-mapping" value="true"> <description>Enable default group to role mapping</description> </property> </glassfish-web-app>
もっと詳しいことは
GitHubにIssueを書きましたので、ご覧ください。
サンプルコードはこちら。