AccessManager を使用するには、Sun Access Manager を使用して HTTP クライアントの資格情報を認証するようにコンシューマエンドポイントを設定します。HTTP バインディングコンポーネントの SOAP バインディングは Sun Access Manager とシームレスに統合され、HTTP クライアントの資格情報 (HTTP Authorization ヘッダーから抽出されたユーザー名およびパスワード) を、Sun Access Manager のデータベースにあるユーザーの資格情報と照合して認証します。
Sun Access Manager による認証を使用する前に、バインディングコンポーネントの追加設定を行なって、HTTP SOAP BC で Access Manager を使用するように設定する必要があります。この設定の名前は「Sun Access Manager 設定ディレクトリ」で、値は Sun Access Manager の AMConfig.properties ファイルが置かれているディレクトリです。
「Sun Access Manager 設定ディレクトリ」を設定するには、次の手順を実行します。
NetBeans の「サービス」ウィンドウから「HTTP バインディングコンポーネントのプロパティー」にアクセスします。「サーバー」>「GlassFish·V2」>「JBI」>「バインディングコンポーネント」の下の sun-http-binding を右クリックし、ポップアップメニューから「プロパティー」を選択します。
「Sun Access Manager 設定ディレクトリ」プロパティーを設定して、Sun Access Manager の AMConfig.properties ファイルの場所を指定します。
次のサンプル WSDL には、AccessManager を使用するためのポリシーとその参照が含まれています。
<wsdl:service name="echoService"> <wsdl:port name="echoPort" binding="tns:echoBinding"> <soap:address location="http://pponnala-tecra-xp.stc.com:18181/ echoService/echoPort"/> <wsp:PolicyReference URI="#HttpBasicAuthBindingBindingPolicy"/> </wsdl:port> </wsdl:service> <wsp:Policy wsu:Id="HttpBasicAuthBindingBindingPolicy"> <mysp:MustSupportBasicAuthentication on="true"> <mysp:BasicAuthenticationDetail> <mysp:AccessManager/> </mysp:BasicAuthenticationDetail> </mysp:MustSupportBasicAuthentication> </wsp:Policy> |
上記のコードは読みやすいように折り返されています。
Sun Java System Access Manager を使用してサービスのクライアントとサーバー間の通信をセキュリティーで保護する方法を示すチュートリアルは、Securing Communications in OpenESB with Sun Access Manager で参照できます。