Je souhaite créer un service WCF hébergé dans IIS6 et désactiver l'authentification anonyme dans IIS. Et n'utilisez pas SSL.Service WCF hébergé par IIS + authentification Windows dans IIS + TransportCredentialOnly/Windows auth dans basicHttpBinding
Donc, la seule façon dont j'ai est d'utiliser basicHttpBinging avec TransportCredentialOnly
, n'est-ce pas?
Je crée un répertoire virtuel, définissez Windows Integrated Auth et décochez "Activer l'accès anonyme".
Voici mon web.config:
<system.serviceModel>
<bindings>
<basicHttpBinding>
<binding name="MyBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows" />
</security>
</binding>
</basicHttpBinding>
</bindings>
<services>
<service name="Samples.ServiceFacadeService" behaviorConfiguration="ServiceFacadeServiceBehavior">
<endpoint address="" binding="basicHttpBinding" bindingName="MyBinding"
contract="Samples.IServiceFacadeService">
</endpoint>
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="ServiceFacadeServiceBehavior">
<serviceDebug includeExceptionDetailInFaults="true"/>
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
Vous pouvez voir que j'ai même pas inclus MEX-enpoint pour l'échange de métadonnées. Juste un point de terminaison et un lien avec la sécurité de TransportCredentialOnly.
Mais quand je tente de démarrer le service (invoquant une méthode throught proxy client) Je suis une telle exception dans le EventLog:
Exception: System.ServiceModel.ServiceActivationException: Le service «/wcftest/ServiceFacadeService.svc ' ne peut pas être activé en raison d'une exception lors de la compilation. Le message d'exception est : sécurité paramètres de ce service ont besoin d'authentification « Anonymous », mais il est pas activé pour l'application IIS qui héberge ce service .. ---> System.NotSupportedException: Sécurité paramètres pour ce service require Authentification 'Anonyme' mais n'est pas activé pour l'application IIS qui héberge ce service.
Je ne sais pas pourquoi mon service nécessite une authentification anonyme? Pourquoi?
Merci, je l'ai lu plusieurs fois. Oui, il s'agit de basicHttpBinding avec l'authentification intégrée de Windows dans IIS. Mais ça n'aide pas. Vous pouvez voir, que j'ai exactement la même configuration et cela ne fonctionne pas comme prévu. – Shrike
Remplacer "bindingName" par "bindingConfiguration" :) – jezell
Genius! Merci! Vous avez sauvé mon esprit :) – Shrike