J'ai créé un MVC 5 Application avec l'authentification Windows,mauvais utilisateur/mot de passe n'a pas vérifié à AD
<authentication mode="Windows" />
<authorization>
<deny users="?" />
</authorization>
J'ai sous le code pour obtenir le nom d'affichage de l'utilisateur ainsi que je veux aussi faire la validation,
protected void Session_Start(object sender, EventArgs e)
{
if (Context.User != null)
{
MapUserADDetails(Context.User);
}
}
private void MapUserADDetails(IPrincipal user)
{
using (HostingEnvironment.Impersonate())
using (var domain = new PrincipalContext(ContextType.Domain, "test.com"))
using (var usr = UserPrincipal.FindByIdentity(domain, user.Identity.Name))
{
if (usr == null)
{
return;
}
Session.Add("UserDisplayName", usr.DisplayName);
}
}
Maintenant, je suis hébergé cette application à IIS avec seulement l'authentification de Windows activée. Quand je suis en train de naviguer, il est rapide pour userName et mot de passe,
Question,
Même je suis entrée mauvais nom d'utilisateur/mot de passe ou même ne remplit pas quoi que ce soit, il est capable de chercher Nom d'affichage.
Comment limiter cela? Utilisateur/Passe doit être valide contre l'AD. Veuillez suggérer. Merci!
Merci, mais s'il vous plaît laissez-moi savoir comment passer le mot de passe, comme nous don ' J'ai un écran de connexion et j'utilise l'authentification Windows. – user584018
On dirait que vous ne pourrez pas le faire fonctionner alors. Je ne vois pas comment vous pouvez valider un compte utilisateur sans mot de passe. Simplement valider si un utilisateur existe, sonne comme un risque de sécurité pour moi, mais c'est un choix que vous faites. Si vous souhaitez utiliser l'authentification Windows avec IIS, vous devez vous assurer que les paramètres de sécurité dans Internet Options sont correctement configurés. – Ronald
Ah, maintenant je comprends: vous voulez contourner la connexion et réutiliser l'utilisateur actuellement connecté à partir de Windows. Dans ce cas, vous n'avez plus besoin de valider contre AD, puisque Windows l'a déjà fait pour vous. Assurez-vous que votre site figure dans la liste des sites Intranet (ou Intranet local) du panneau de configuration Options Internet. Ensuite, vous pouvez vérifier 'User.Identity.IsAuthenticated' sans valider avec un mot de passe. – Ronald