WssTokenCompare 要素を使用するには、Policy 要素が存在し、認証に使用されるユーザー名とパスワードが指定されている必要があります。HTTP Authorization 要求ヘッダーから抽出されたユーザー名およびパスワードは、Policy の WssUsernameToken10 要素と WssPassword 要素に指定されているユーザー名およびパスワードと比較されます。
次のサンプル WSDL には、WssTokenCompare を使用するためのポリシーとその参照が含まれています。パスワードが WSDL に公開されないように、パスワードにはアプリケーション変数トークンが使用されていることに注意してください。パスワードの値は、NetBeans を使用してコンポーネントのプロパティーで指定できます。「アプリケーション変数を使用した名前/値ペアの定義」を参照してください。
<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:WssTokenCompare/> </mysp:BasicAuthenticationDetail> </mysp:MustSupportBasicAuthentication> <mysp:UsernameToken mysp:IncludeToken="http://schemas.xmlsoap.org/ws/ 2005/07/securitypolicy/IncludeToken/AlwaysToRecipient"> <wsp:Policy> <sp:WssUsernameToken10>wilma</sp:WssUsernameToken10> <sp:WssPassword>${pass_token}</sp:WssPassword> </wsp:Policy> </mysp:UsernameToken> </wsp:Policy> |
上記のコードは読みやすいように折り返されています。