私はIIS6でホストしているWCFサービスを持っています。私はトランスポートレベルのセキュリティを使用してカスタムのユーザー名/パスワード認証を設定しようとしています。私は、テスト証明書を設定し、指定した認証なし、すなわちでSSL経由で接続するクライアントを持っている:私は、メッセージセキュリティおよびクライアント資格情報の種類「ユーザー名」でカスタムバリデータを設定したIIS6のカスタムユーザー名/パスワード認証
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
が、私はトランスポートレベルのセキュリティと今これを組み込みたいと思います。"このサービスのセキュリティ設定には「基本認証」が必要ですが、このサービスをホストするIISアプリケーションでは有効になっていません。」というエラーメッセージが表示されます。ここで
は私のweb.configファイルの重要な部分です:
<system.serviceModel>
<bindings>
<wsHttpBinding>
<binding name="UserNameBinding">
<security mode="Transport">
<transport clientCredentialType="Basic" />
</security>
</binding>
</wsHttpBinding>
</bindings>
<services>
<service behaviorConfiguration="ServiceAuthenticationBehavior"
name="Service.WebServices.MyService">
<endpoint address="mex" binding="mexHttpsBinding" bindingConfiguration=""
name="mexBinding" contract="IMetadataExchange" />
<endpoint binding="wsHttpBinding" bindingConfiguration="UserNameBinding"
name="wsHttpBindingWithAuth" contract="Service.WebServices.IMyService" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceAuthenticationBehavior">
<serviceMetadata httpsGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
<serviceCredentials>
<serviceCertificate findValue="TestCert01" storeLocation="LocalMachine"
storeName="TrustedPeople" x509FindType="FindBySubjectName" />
<userNameAuthentication userNamePasswordValidationMode="Custom"
customUserNamePasswordValidatorType="Service.WebServices.ClientCredentialsValidator, Service.WebServices" />
</serviceCredentials>
</behavior>
</serviceBehaviors>
</behaviors>
は、私はこれを有効にするには、IIS6で設定になってるものがありますか? IISでは、最初に「匿名アクセスを有効にする」オプションを有効にして開始しました。また、「基本認証(パスワードは平文で送信されます)」チェックボックスを有効にしてみましたが、成功しませんでした。
あなたはanon [off]とbasic [on]を一緒に試しましたか?あなたはiisresetが助けになるかどうかわからないので、私はとにかく1つをやります。 –