Je suis nouveau et en utilisant le contrôle de connexion avec la base de données d'utilisateurs générée par ASPnetdB Visual Studio P>
i Définir un nombre maximal de mots de passe de mot de passe maximum de 5 dans web.config et testé sur le point qu'un compte a été verrouillé. Je suis toutefois incapable de comprendre comment déverrouiller le compte maintenant. P>
Ce problème est sur mon site hébergé à distance, ce n'est donc pas quelque chose que je peux faire avec l'outil de configuration Visual Studio ASP.NET P>
Certains C # Code, je pourrais exécuter dans la page 3.CS, qui permettrait de saisir le nom d'utilisateur et de le faire déverrouiller serait super. Ensuite, je pourrais faire un formulaire pour le faire plus tard quand j'ai besoin de facilement. P>
Merci d'avance pour toute aide. P>
5 Réponses :
Avez-vous essayé de changer le web.config pour prolonger le temps de verrouillage des "tentatives plus" ou quelque chose comme ça? Peut-être que cela vous permettra de la sorte. P>
Je ne connais aucun code CSharp pour vous, mais un outil que j'utilise est le Contrôle de la gestion des membres de la qualité où je peux gérer l'adhésion (y compris le statut de verrouillage) via un formulaire Web. P>
Bien que cela ne vous aide pas maintenant, cela devrait vous aider à l'avenir. En outre, une fois que vous pouvez vous connecter (après l'expiration de votre lock-out) à nouveau, je vous suggérerais de supprimer les informations de verrouillage du web.config jusqu'à ce que vous soyez prêt à aller vivre. Des tests approfondis de votre application sont tenus de vous mettre à nouveau verrouillé à nouveau. P>
Ce tutoriel pourrait vous aider, vous devrez peut-être passer à travers la série rapidement: p>
Déverrouillage et approuvant les comptes d'utilisateurs < / strong> p>
manuellement, dans la base de données, allez à la table ASPNET_Membership, définissez Nous avons créé un écran de sécurité personnalisé pour les gérer dans plusieurs de mes applications, ou vous pouvez utiliser un composant comme mentionné dans les autres messages. P>
hth. p> échouéLoginpassWordReTempount code> (quelque chose de même nommé) à zéro et définissez
islockedout code> à 0 (faux). P >
J'ai un code vraiment vieux (laid) d'une application que j'ai construite quelques années de retour. C'est à peu près un piratage d'un contrôle de grille de grille qui utilise l'aspnet_membership_unlockuser stocké proc comme la commande DELETE avec la clé définie comme nom d'utilisateur de l'utilisateur verrouillé dans le Gridrow. Je n'ai même pas utilisé c #. Voici ce que j'ai:
ALTER PROCEDURE [dbo].[aspnet_Membership_UnlockUser] --@ApplicationName nvarchar(256), --replaced with '/' @UserName nvarchar(256) AS BEGIN DECLARE @UserId uniqueidentifier SELECT @UserId = NULL SELECT @UserId = u.UserId FROM dbo.aspnet_Users u, dbo.aspnet_Applications a, dbo.aspnet_Membership m WHERE LoweredUserName = LOWER(@UserName) AND u.ApplicationId = a.ApplicationId AND LOWER('/') = a.LoweredApplicationName AND u.UserId = m.UserId IF ( @UserId IS NULL ) RETURN 1 UPDATE dbo.aspnet_Membership SET IsLockedOut = 0, FailedPasswordAttemptCount = 0, FailedPasswordAttemptWindowStart = CONVERT( datetime, '17540101', 112 ), FailedPasswordAnswerAttemptCount = 0, FailedPasswordAnswerAttemptWindowStart = CONVERT( datetime, '17540101', 112 ), LastLockoutDate = CONVERT( datetime, '17540101', 112 ) WHERE @UserId = UserId RETURN 0 END
Je ne veux pas faire voter cette réponse, mais la réponse de Brian ressemble à la meilleure réponse.
MembershipUser usr = Membership.GetUser(userName); usr.UnlockUser();