De connexion Permettent à seulement 3 tentatives
Je suis en création d'une nouvelle application..j'ai créé une page de login avec succès..Maintenant, j'ai besoin de modifier la page de connexion ..Seulement 3 tentatives uniquement autorisé pour un utilisateur ..Si l'utilisateur à tort entre le mot de passe de plus de 3 fois(en moins de 5 min), son compte doit être bloqué..Et le message d'erreur doit être démontré que Vous ne pouvez pas accéder à votre page ..Merci de partager vos idées...
Comment êtes-vous stocker les informations de l'utilisateur?
OriginalL'auteur Jafry | 2010-10-21
Vous devez vous connecter pour publier un commentaire.
utiliser un MembershipProvider et de votre site web.config, dans le système.web vous pouvez configurer le nombre de tentatives et les délais d'attente. Ensemble maxInvalidPasswordAttempts="3" et passwordAttemptWindow="5" pour vos besoins.
Cela nécessitera un peu de configuration, mais lorsqu'il est configuré correctement (peut-être même avec un roleprovider) la valeur par défaut asp.net les Contrôles de Connexion peut gérer à peu près tout pour vous, même un PasswordRecovery et CreateUserWizard. Le MembershipProvider va générer toutes les tables nécessaires pour l'enregistrement de l'utilisateur automatiquement.
La base de données peut être un fichier mdb, ms sql server ou mysql base de données.
OriginalL'auteur Willem
Vous souhaitez utiliser les Adhésion.MaxInvalidPasswordAttempts propriété pour le suivi des tentatives de connexion.
Il y a un code de travail exemple de l'affichage des messages d'erreur ici:
http://forums.asp.net/p/1520434/3652047.aspx
Peut-être que ce lien peut vous aider: asp.net/security/tutorials/...
Tnx pour la réponse ..j'ai quelques idées à propos du manuel d'processus d'ouverture de session.. Mais je ne suis pas clair ..u Peut m'aider
OriginalL'auteur dhirschl
Simplement ajouter un int colonne de l'utilisateur-table appelée
FailedLogins
. En comptent jusqu'à chaque fois, il échoue et si le compteur est plus grand que les 3 ne pas autoriser les connexions plus à partir de ce compte.Edit: Si vous souhaitez réinitialiser la tente après un certain laps de temps, vous aurez à ajouter un datetime-colonne (f.e.
LastFailedLogin
) et de vérifier si suffisamment de temps s'est écoulé pour permettre davantage d'essais, et/ou de réinitialiser le compteur.Ça dépend...quand voulez-vous réinitialiser? Si vous souhaitez le réinitialiser après un certain laps de temps, vous aurez à ajouter un champ qui détient la date/heure de la dernière connexion a échoué, et le réinitialiser si nécessaire.
OriginalL'auteur Bobby
Combien d'utilisateurs sont nous parle, ici? 1? Des centaines?
Si il y a juste un, vous pouvez créer un static int variable et statique de la variable DateTime. Lorsque le programme est lancé, ensemble l'int nTries à 0 et DateTime staticDate à Maintenant.
Chaque fois que vous montrez à l'écran de connexion, vérifiez que nTries < MAX_TRIES et timeSpan < 5 minutes. Si le délai est supérieur à 5 minutes, l'ensemble nTries de 0 et de mise à jour staticDate à Maintenant.
Si vous aimez la lecture/écriture de fichiers texte, vous pouvez facilement lire/écrire le nombre d'essais à partir d'un fichier texte. Dans ce cas, vous pouvez avoir une ligne pour chaque utilisateur, si vous avez une petite application avec seulement quelques utilisateurs (éviter la surcharge de la base de données).
Si vous avez des centaines d'utilisateurs, vous aurez envie d'utiliser une base de données. Dans cette base de données, vous pouvez stocker chaque utilisateur, sa dernière tentative de connexion de l'heure et du nombre de tentatives qu'il a eu.
Je suis d'accord. Ma réponse a été, selon que les OP voulais juste tester quelque chose en l'absence de tout autre mécanisme de stockage.
OriginalL'auteur jp2code
vous pouvez utiliser ce code pour que,
OriginalL'auteur ketan italiya