J'ai un service WCF que je veux utiliser pour accéder à une base de données SQL (via Linq2SQL pour l'instant), mais la sécurité sécurisée dans un environnement IIS actif ne semble pas utiliser les bonnes références - J'ai essayé de suivre les messages liés ici, mais je n'arrive pas à l'obtenir. Je serais vraiment reconnaissant si quelqu'un pouvait repérer mon erreur ...Authentification Windows dans WCF et IIS pour accéder à une base de données
dans la configuration Endpoint, je l'ai établi pour utiliser BasicHttpBinding, avec la configuration suivante
<basicHttpBinding>
<binding name="authHttpBinding">
<security mode="TransportCredentialOnly">
<transport clientCredentialType="Windows"/>
</security>
</binding>
</basicHttpBinding>
J'ai mis la paramètres de System.Web à:
<authentication mode="Windows" />
<identity impersonate="true" />
sur le serveur IIS, j'ai ajouté une nouvelle AppPool, définissez l'identité de ApplicationPoolIdentity et ManagedPipeLine à intégré. Sur l'application Web actuelle, définie sur mon nouvel AppPool, j'ai défini l'authentification Windows sur "Activé" et essayé ASP.Net Impersonation à la fois activé et désactivé
Lorsque j'essaie d'appeler le service WCF, il s'exécute, mais quand il fait un appel réel à un proc stocké via Linq2SQL (à une base de données sur un serveur distant utilisant Trusted Security), j'obtiens l'erreur suivante: Échec de la connexion pour l'utilisateur 'domaine \ machinename $' - le nom de la machine avec un signe du dollar à la fin
qui me ressemble beaucoup comme je n'ai pas réussi à déléguer l'identité correcte (je peux accéder à la base de données réelle via Management Studio.)
même problème. s'il vous plaît faites le moi savoir si vous vous souvenez comment vous avez résolu. – morpheus