Comment obtenir le contrôle de connexion asp.net pour authentifier automatiquement un utilisateur précédemment authentifié?

StackOverflow https://stackoverflow.com/questions/165331

Question

J'essaie de configurer le contrôle de connexion pour garder en mémoire les informations de connexion d'un utilisateur qui a déjà entré son nom d'utilisateur et son mot de passe avec succès. J'ai défini la propriété Remember me sur true, mais cela ne semble pas perturber les événements où je pouvais lire le cookie et se connecter automatiquement à l'utilisateur.

Existe-t-il un mécanisme simple pour y parvenir?

Était-ce utile?

La solution

Vous devez utiliser Google pour Authentification par formulaires dans ASP.NET 2.0

Vous devrez configurer votre application (via web.config) et éventuellement modifier les paramètres IIS. Bien que ce soit assez simple, de nombreux paramètres peuvent être utilisés. Il est donc préférable de lire certains articles. ScottGu a un entrée de blog très détaillée.

Il existe également de nombreuses vidéos intéressantes sur www.asp.net , y compris Didacticiels sur la sécurité

essayez Comment: créer une page de connexion ASP.NET et Procédure pas à pas: création d'un site Web avec un abonnement et une connexion utilisateur . Si je me souviens bien, vous devez toujours effectuer l'authentification vous-même, à moins que vous n'utilisiez le fournisseur d'adhésion à SQL Server. Dans ce cas, vous devez toujours configurer la base de données et web.config.

En gros, une fois que vous avez configuré la configuration correctement, vous avez une page de connexion. Dans cette page de connexion, vous indiquez à Forms Authentication de créer le ticket d'authentification pour vous une fois vous vous les authentifiez:

if (VerifyUser(name, password) ) // this is not a framework method
    FormsAuthentication.RedirectFromLoginPage(
        userName, false); // no persistent cookie

Si vous souhaitez lire les données du ticket d'authentification (n'importe où).

// output just writes to a StringBuilder 'sb' 
output(sb, "Identity.AuthenticationType", Page.User.Identity.AuthenticationType);

FormsIdentity fi = Page.User.Identity as FormsIdentity;
if (fi == null)
{
    output(sb, "Identity Type", Page.User.Identity.ToString());
    return;
}

output(sb, "FormsIdentity.Ticket.IssueDate", fi.Ticket.IssueDate);
output(sb, "FormsIdentity.Ticket.Expiration", fi.Ticket.Expiration);
output(sb, "FormsIdentity.Ticket.Name", fi.Ticket.Name);
output(sb, "FormsIdentity.Ticket.CookiePath", fi.Ticket.CookiePath);
output(sb, "FormsIdentity.Ticket.UserData", fi.Ticket.UserData);
output(sb, "FormsIdentity.Ticket.Version", fi.Ticket.Version);
output(sb, "FormsIdentity.Ticket.IsPersistent", fi.Ticket.IsPersistent);

Une fois authentifié, asp.net redirigera l'utilisateur vers la page de connexion si le ticket d'authentification a expiré et si l'utilisateur se trouve sur une page protégée. Asp.net ne continue pas à vous demander d'authentifier l'utilisateur sans nécessité.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top