J'ai deux sites Web hébergés sur le même serveur IIS. SiteA contient les services WCF auxquels SiteB doit accéder, ainsi que tout ce qui est authentifié sur le domaine.Configuration de la sécurité WCF (wsHttpBinding)
Le service est configuré avec un wsHttpBinding et donc je crois utilise la sécurité Windows par défaut. À l'heure actuelle, je peux appeler les services depuis une application de console fonctionnant sur ma machine locale, ainsi que depuis une application Web exécutée sur le serveur Web Visual Studio par défaut, donc je considère que l'authentification fonctionne.
Toutefois, lorsque SiteB tente d'accéder aux services, il échoue avec cette erreur: L'appelant n'a pas été authentifié par le service. SiteB s'exécute sur la même machine que SiteA donc je ne comprends pas pourquoi il n'a pas pu être authentifié. SiteB utilise l'authentification par formulaire et j'ai mappé l'accès anonyme à un utilisateur de domaine.
Voici les bits de configuration:
SiteA (service):
<system.serviceModel>
<serviceHostingEnvironment aspNetCompatibilityEnabled="true" multipleSiteBindingsEnabled="true" />
<services>
<service behaviorConfiguration="wcfServiceBehaviour" name="MyService">
<endpoint address="" binding="wsHttpBinding" contract="IServiceContract" />
<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange" />
</service>
</services>
<behaviors>
<serviceBehaviors>
<behavior name="wcfServiceBehaviour">
<serviceMetadata httpGetEnabled="true" />
<serviceDebug includeExceptionDetailInFaults="true" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
SiteB (client):
<system.serviceModel>
<client>
<endpoint address="http://xxxxx/Services/xxService.svc"
binding="wsHttpBinding"
contract="IServiceContract" />
</client>
</system.serviceModel>
Salut Xavier, mes excuses, je me suis trompé. J'avais clairement manqué ce morceau. – Aliostad