私は Java REST プロジェクトに取り組んでおり、現在、基本認証で JDBC レルムを使用しています。パスワードの SHA-256 ハッシュを保存していますが、基本認証は正常に機能します。ダイジェスト認証に切り替えるには、レルムの JAAS コンテキストを jdbcRealm から jdbcDigestRealm に変更し、web.xml で auth-method を DIGEST に設定しました。
これにより、何らかの理由で、ハッシュ自体を提供した場合にのみ認証が成功します。ダイジェスト認証に設定すると、基本認証の場合のように、Glassfish は提供されたパスワード文字列を自動的にハッシュしてからチェックしないようです。
これが私のレルム構成です:
- JAAS コンテキスト: jdbcDigestRealm
- JNDI: jdbc/レストショップ
- ユーザー テーブル: ユーザー
- ユーザー名列: ユーザー名
- パスワード欄:パスワード
- グループ テーブル: user_role
- グループ名列: role_name
- ダイジェスト アルゴリズム: SHA-256
- エンコーディング: 16 進数
レルム構成にはパスワード暗号化アルゴリズム フィールドもありますが、その目的がわかりません。
他の情報が必要な場合は、私が提供します。ありがとう。