“Remember Me” avec asp.net pages web
Je me rends compte que cette question peut avoir été demandé avant, mais je ne peux pas trouver quelque chose qui correspond à ma situation exactement.
J'ai créé un site web en utilisant le WebMail aide dans ASP.Net les pages web (pas formulaires web) et de WebMatrix. Les utilisateurs doivent se connecter sur le site, et il y a un "se Souvenir de moi" qui (en théorie) de garder la connexion de l'utilisateur jusqu'à ce qu'il/elle choisit de se déconnecter. Le site web ne permettent aux utilisateurs de rester connecté s'ils fermez le navigateur et le rouvrir dans les 20 à 30 minutes. Cependant, après 20-30 minutes de ne pas accéder au site, l'utilisateur est déconnecté. (En aparté, ce problème semble exister même avec le WebMatrix modèle de "Starter".)
J'ai essayé plusieurs solutions, dont beaucoup ont été publiés sur un Débordement de Pile, mais rien ne semble fonctionner.
Malheureusement, je n'ai pas de sauver des tentatives qui n'ont pas de travail, donc je ne peux pas vous dire exactement ce que j'ai essayé. Le plus impliqué en essayant de créer un cookie qui pourraient être accessibles par mon site, mais je ne suis pas sûr si j'ai créé le cookie correctement ou si mes tentatives pour y accéder, il avait raison.
Je m'attends à ce que, quelque part dans le code du modèle, il y a une condition qui vérifie la session en cours de l'inactivité de la durée. Regardez à travers le code d'authentification et de voir si il y a un temps de vérifier ou quelque chose comme ça.
OriginalL'auteur CarolK | 2013-08-06
Vous devez vous connecter pour publier un commentaire.
EDIT 2
Le cookie utilisé par l'Authentification de Formulaires est appelé ".ASPXAUTH" et par défaut configuré pour expirer au bout de 30 minutes.
Aller à votre
web.config
et de trouver laauthentication
élément. Vous pouvez définir le temps d'expiration de cookie (en minutes) il y a, comme tel:OU
Si la configuration échoue, essayez de cet article: Lien
Vous aurez besoin d'effacer tous les existants auth billets et de créer votre propre. Il se résume à ce morceau de code à exécuter si l'utilisateur a sélectionné l'
remember me
option:Sur la deuxième pensée, le paramètre de délai d'expiration de session ne serait pas une bonne solution. Son témoin, donc la bonne solution serait de définir son délai d'expiration lorsque l'utilisateur se connecte. Mise à jour de la réponse.
Ainsi, la Ruse, le code indiqué ci-dessus reflète la correction?
Oui. C'est tous les exemples de code, mais je suppose que le vôtre a l'air un peu similaire. L'important est où le cookie de délai d'expiration est après le succès de l'authentification.
Il semble être au travail. Merci pour votre aide!
OriginalL'auteur Artless
Vous pouvez créer manuellement un cookie(jamais arrivant à expiration) contenant un GUID qui est associé à votre nom d'utilisateur. Lorsque l'utilisateur fait une OBTENIR de l'utilisateur de votre page de connexion, vous pouvez lire que les cookies et vérifier le guid et d'authentifier l'utilisateur. vérifier les liens
http://msdn.microsoft.com/en-us/library/ms178194(v=vs. 100).aspx
http://msdn.microsoft.com/en-us/library/78c837bd(v=vs. 100).aspx
http://www.codeproject.com/Articles/31914/Beginner-s-Guide-To-ASP-NET-Cookies
OriginalL'auteur Ktt