7.4. 受信される認証情報の認証
概要 リンクのコピーリンクがクリップボードにコピーされました!
サーバー側で、コールバックハンドラーを Apache CXF ランタイムで登録することで、受信したクレデンシャルが認証されていることを確認できます。独自のカスタムコードを作成して認証情報の検証を実行するか、サードパーティーのエンタープライズセキュリティーシステム (LDAP サーバーなど) と統合するコールバックハンドラーを実装できます。
Blueprint XML でのサーバーコールバックハンドラーの設定 リンクのコピーリンクがクリップボードにコピーされました!
クライアントから受信した UsernameToken
クレデンシャルを検証するサーバーコールバックハンドラーを設定するには、以下のようにサーバーの Blueprint XML 設定で security.callback-handler
プロパティーを設定します。
上記の例では、コールバックハンドラーは UTPasswordCallback
クラスによって実装されます。
パスワードを確認するためのコールバックハンドラーの実装 リンクのコピーリンクがクリップボードにコピーされました!
サーバー側でパスワードをチェックするコールバックハンドラーを実装するには、javax.security.auth.callback.CallbackHandler
インターフェイスを実装します。サーバーに CallbackHandler
インターフェイスを実装する一般的な方法は、クライアントに CallbackHandler
を実装するのと類似しています。ただし、サーバー側で返されたパスワードの解釈は異なります。クライアントの認証情報を確認するために、コールバックハンドラーからのパスワードが、受信したクライアントのパスワードと比較されます。
たとえば、次のようなサンプル実装を使用できます。例7.2「UsernameToken パスワードのコールバックハンドラー」 サーバー側でパスワードを取得します。サーバー側では、WSS4J ランタイムは、コールバックから取得したパスワードを、受信したクライアント認証情報のパスワードと比較します。2 つのパスワードが一致する場合、認証情報は正常に検証されます。
サーバーコールバックハンドラーのより現実的な実装には、セキュリティーデータの格納に使用されるサードパーティーデータベースとの統合 (たとえば、LDAP サーバーとの統合) の作成が含まれます。