Les étapes pour activer le double-hop délégation dans IIS7 windows 2008

mon ASP.NET application web utilise l'authentification windows sur notre intranet. Je veux qu'il soit en mesure de faire un serveur http de la requête à un autre serveur sur le même domaine qui requiert une authentification windows.

J'ai suivi les instructions sur temporairement de l'identification de l'utilisateur authentifié en faisant la demande ici:

http://msdn.microsoft.com/en-us/library/ff647404.aspx

À l'aide de code comme ceci:

using System.Security.Principal;

//Obtain the authenticated user's Identity
WindowsIdentity winId = (WindowsIdentity)HttpContext.Current.User.Identity;
WindowsImpersonationContext ctx = null;
try
{
  //Start impersonating
  ctx = winId.Impersonate();
  //Now impersonating
  //Access resources using the identity of the authenticated user
  var request = WebRequest.Create("http://intranet/secureapp");
  request.Credentials = CredentialCache.DefaultCredentials;
  var response = request.GetResponse();
  using (var streamReader = new StreamReader(response.GetResponseStream()))
  {
      Response.Write(streamReader.ReadToEnd());
  }
}
//Prevent exceptions from propagating
catch
{
}
finally
{
  //Revert impersonation
  if (ctx != null)
    ctx.Undo();
}
//Back to running under the default ASP.NET process identity 

Mais, malheureusement, j'ai toujours une erreur 401 non autorisée.

Dois-je configurer notre serveur active directory pour permettre à celle-ci à déléguer l'utilisateur authentifié (peut être l'un d'environ 200 utilisateurs, et donc ne veulent pas avoir à rien faire 200 fois :))? Si oui, quelqu'un peut me dire comment faire cela?

InformationsquelleAutor Kram | 2010-12-02