2013-02-20 1 views
0

J'essaie de rediriger une requête http avec des informations d'en-tête digest MD5 vers un répertoire actif pour valider les informations d'identification.Demande de résumé de redirection vers le répertoire actif

J'ai l'information donnée par l'en-tête http comme nonce et nom d'utilisateur. Mon problème maintenant est que je n'ai aucun lien pour mettre cette information dans un objet PrincipalContext.

Je ne peux évidemment pas utiliser PrincipalContext.ValidateCredentials (nom d'utilisateur, mot de passe) car il nécessite le mot de passe en texte brut.

La seule validation que je peux utiliser est UserPrincipal user = UserPrincipal.FindByIdentity(context, IdentityType.SamAccountName, username);, mais n'inclut pas le mot de passe.

J'ai un objet HttpListenerContext. Mais la variable utilisateur est nulle.

Répondre

0

Tim une fois que vous obtenez les informations que vous pouvez faire quelque chose comme ceci pour vérifier si est valide ou non Si je comprends ce que vous voulez tester correctement alors essayer quelque chose comme ça

si vous utilisez ce via le code ou un service vous devriez avoir aucun problème avec le mot de passe en ce qui concerne être exposé .. si vous êtes préoccupé par cela alors vous devez écrire quelque chose qui déchiffrera l'information d'en-tête MD5 où le mot de passe est.

using(PrincipalContext prContext= new PrincipalContext(ContextType.Domain, "Your Domain")) 
{ 
    bool isValid = prContext.ValidateCredentials("Username", "Password"); 
} 
+0

Je ne suis pas préoccupé par l'exposition du mot de passe. En fait, je ne connais pas le mot de passe. Mon client m'envoie une demande de résumé contenant le cochon md5 nonce. J'aime ne pas décoder ce md5 mais immédiatement en utilisant cette chaîne pour valider par rapport au répertoire actif –

+0

la réponse que j'ai fournie vous permettra de valider mais vous devez écrire quelque chose qui décrypte le md5 Je ne crois pas que AD supporte le passage ou injection de MD5 – MethodMan

+0

Vous ne pouvez pas déchiffrer MD5 facilement. C'est pourquoi c'est utilisé pour le décryptage. –

1

Après avoir dit mon serveur à AuthenticationSchemes.IntegratedWindowsAuthentication utilisateur qu'il a WindowsPrincipal automaticaly procédé à la livraison, qui fournit des informations de l'AD.

Questions connexes