0

SSL で保護されたサービスの標準認証の設定について、ちょっと混乱しています。私はHTTP ヘッダーの方法を試しましたが、それは非標準であり、WS-I は私にとって重要です。をメソッド レベルに設定することができAuthentication Tokenます。WSIT XMLUsernameの結果は次のとおりです。BindingPolicy

<wsp:Policy wsu:Id="DataStoreWSPortBindingPolicy">
    <wsp:ExactlyOne>
        <wsp:All>
            <wsam:Addressing wsp:Optional="false"/>
            <sp:TransportBinding>
                <wsp:Policy>
                    <sp:TransportToken>
                        <wsp:Policy>
                            <sp:HttpsToken RequireClientCertificate="false"/>
                        </wsp:Policy>
                    </sp:TransportToken>
                    <sp:Layout>
                        <wsp:Policy>
                            <sp:Lax/>
                        </wsp:Policy>
                    </sp:Layout>
                    <sp:IncludeTimestamp/>
                    <sp:AlgorithmSuite>
                        <wsp:Policy>
                            <sp:Basic128/>
                        </wsp:Policy>
                    </sp:AlgorithmSuite>
                </wsp:Policy>
            </sp:TransportBinding>
            <sp:Wss10/>
        </wsp:All>
    </wsp:ExactlyOne>
</wsp:Policy>
<wsp:Policy wsu:Id="DataStoreWSPortBinding_hello_Input_Policy">
    <wsp:ExactlyOne>
        <wsp:All>
            <sp:SupportingTokens>
                <wsp:Policy>
                    <sp:UsernameToken sp:IncludeToken="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702/IncludeToken/AlwaysToRecipient">
                        <wsp:Policy>
                            <sp:WssUsernameToken10/>
                        </wsp:Policy>
                    </sp:UsernameToken>
                </wsp:Policy>
            </sp:SupportingTokens>
        </wsp:All>
    </wsp:ExactlyOne>
</wsp:Policy>

SvcUtil 警告:

<!--    WsdlImporter encountered unrecognized policy assertions in ServiceDescription 'http://webServices/':    -->
          <!--    <wsdl:binding name='DataStoreWSPortBinding'>    -->
          <!--        <sp:SupportingTokens xmlns:sp="http://docs.oasis-open.org/ws-sx/ws-securitypolicy/200702">..</sp:SupportingTokens>    -->

ClientCredentialsWCF クライアントで資格情報を設定し、データベースを介してサービス側で認証したいと考えています。それを達成するための手順は何ですか?

4

1 に答える 1

1

トランスポート レベルで標準的な方法が必要な場合は、HTTP Basic 認証を使用しないのはなぜですか? これは、HTTP プロトコルの一般的な標準化された認証メカニズムであり、Web サービスでも機能します。

あなたが得たエラーは、おそらくSupportingTokensアサーションが原因です。それは正しい主張でさえ、WCFはそれをサポートしていません。SignedSupportingTokensまたはを使用してみてくださいSignedEncryptedSupportingTokens。サービスを変更してそのような WSDL を生成できない場合は、取得した WSDL を手動で変更することもできます。

WS-I とはどういう意味ですか? 複数の WS-I 標準があり、そのうちのいくつかはポリシーをまったく想定していません。ヘッダーが WSDL に直接記述されている単純な SOAP サービスです。

于 2011-10-04T10:12:55.850 に答える