Windows Authentification réussit, mais IsAuthenticated == false
Environnement est intégré IIS 7 pipeline, ASP.NET 4.0. J'ai un .page aspx configuré sans authentification anonyme et avec l'authentification windows:
<location path="auth/windows">
<system.webServer>
<security>
<authentication>
<anonymousAuthentication enabled="false" />
<windowsAuthentication enabled="true" />
</authentication>
</security>
</system.webServer>
</location>
Lorsque je demande la page, une normale de l'authentification Windows (NTLM/Négocier) réponse défi qui se passe, et, finalement, la page est renvoyée.
J'ai un HttpModule je gère la PostAuthorize événement. Comme prévu, cet événement est seulement soulevé une fois le défi-réponse d'authentification a réussi, et l'accès à la page a été autorisé.
Toutefois, à la Demande.IsAuthenticated propriété est fausse; et HttpContext.Actuel.De l'utilisateur.Identité reflète un utilisateur non authentifié (.Nom renvoie la chaîne vide). Il Est Intéressant De Noter, À La Demande.ServerVariables["LOGON_USER"] renvoie la valeur de l'utilisateur Windows authentifié.
J'aurais pensé qu'une fois que l'utilisateur a été authentifié (et autorisé), la demande serait le reflet d'être authentifié; et l'Utilisateur /l'Identité de la demande aurait été correctement définie.
Des idées sur pourquoi ce n'est pas le cas?
Merci,
Donnie
OriginalL'auteur soccerdad | 2010-06-29
Vous devez vous connecter pour publier un commentaire.
l'Authentification windows est activé dans
IIS
et le mode d'authentification windows dans monweb.config
fichier.Mon site est en demande d'informations d'identification, et ça fonctionne très bien. mais lors de la vérifier à l'aide de
est une chaîne vide
Ou
HttpContext.User.Identity.IsAuthenticated
est faux;J'ai utilisé de la Demande
.ServerVariables["LOGON_USER"].Tostring();
vous connecter identifiants de l'utilisateur.Cela a fonctionné pour moi, Merci pour l'Affichage soccerdad.
Ce n'est pas une réponse, mais un commentaire sur soccerdad de réponse.
OriginalL'auteur Venu Kadiyala
Il s'avère que le natif de la manipulation de l'authentification Windows fonctionne lorsque vous avez des Formulaires d'authentification activée dans le Web.config. Mais la gestion de la partie de l'authentification Windows associe dans ce cas l'utilisateur Windows authentifié avec une Identité-objet dérivé représentant que l'utilisateur ne se produit que si l'authentification Windows est activé dans le Web.config. On dirait que je vais devoir compter sur la Demande.ServerVariables["LOGON_USER"] valeur.
OriginalL'auteur soccerdad