L'obtention de IIS pour emprunter l'identité de l'utilisateur de windows SQL server dans un environnement intranet

Je suis en train d'élaborer un site intranet à l'aide de C# et ASP.NET MVC. J'ai SQL Server sur une machine, et qu'IIS s'exécute sur une machine distincte. Je voudrais un utilisateur à visiter le site intranet et sans intervention de l'utilisateur d'internet explorer envoie les utilisateurs les informations d'identification windows IIS et elles sont ensuite transmises à sql server sens sql server peut voir l'utilisateur accédant à la base de données.

Je suis conscient de l'Kerberos double saut problème et c'est ce que je suis en train d'essayer de se déplacer. À présent je peux obtenir IE pour transmettre les informations d'identification windows IIS et authentifier l'amende. J'ai juste ne peut pas obtenir de l'IIS à transmettre ces informations d'identification pour SQL Server et au lieu de la demande actuellement s'exécute sous l'identité du pool d'application qui est fixé à un compte de service de domaine "htu\srv-htu-iis".

Ma configuration est comme suit:

Web.Config

<system.web>
    <authentication mode="Windows" />
    <authorization>
        <deny users="?" />
    </authorization>
    <identity impersonate="true" />
</system.web>
<system.webServer>
    <validation validateIntegratedModeConfiguration="false" />
</system.webServer>

Chaîne De Connexion

connection string=&quot;data source=hturesbsqlp01;initial catalog=R2_Dev;integrated security=True;MultipleActiveResultSets=True;App=EntityFramework&quot;"

Paramètres d'Authentification IIS

Anonymous Authentication = Disabled
ASP.NET Impersonation = Enabled
Forms Authentication = Disabled
Windows Authentication = Enabled

IIS Application Paramètres du Pool de

Managed Pipeline = Integrated
Identity = htu\srv-htu-iis (domain service account)

Paramètres Active Directory

Le compte de service de domaine htu\srv-htu-iis a eu un nom principal de service ensemble qui associe notre site avec le compte.

Active directory a

Allow Delagation to any service

SQL Server est en cours d'exécution en vertu de sa propre SQL compte de Service de Domaine.

Tests

J'ai couru le code suivant vérifie:

System.Web.HttpContext.Current.User.Identity.Name

ce renvoyer correctement les informations d'identification windows de l'utilisateur qui accède au site

System.Security.Principal.WindowsIdentity.GetCurrent().Name

retourner le compte de service de domaine "htu\srv-htu-iis", qui est ce que l'identité du pool d'application est en cours d'exécution en vertu de l'.

Quelqu'un peut-il fournir des directives quant à l'endroit où je pourrait mal se passer?

  • Est-ce une charge équilibrée de l'environnement?
  • Non, ce n'est pas pour autant que je suis conscient!)
  • Avez-vous regardé ce DONC stackoverflow.com/questions/4618552/... et aussi celui-ci: stackoverflow.com/questions/13706580/... Ils couvrent le sujet très bien.
  • TimG merci pour les messages j'ai raté ce en dépit de la recherche. Ils ont un couple d'options pour m'essayer à le matin!
  • Excellente documentation - c'était notre problème: Pipeline Géré = Intégré