2010-12-26 2 views
16

Ich benutze asp.net Mitgliedschaft Provider. und ich muss den Benutzeraccount blockieren, falls der Benutzer Spam versendet. Wie kann ich dies mithilfe der integrierten Funktionen des Mitgliedschaftsanbieters erreichen?Wie deaktiviere ich ein Konto beim ASP.NET-Mitgliedschaftsanbieter?

Kann ich IsLockedOut verwenden? Wenn ja, wie kann ich es programmatisch aktualisieren?

Danke

+1

kein Sie kann nicht IsLockedOut verwenden, es ist nur lesbar. Aber Sie können IsApproved wie unten in meiner Antwort gezeigt verwenden. – gbs

Antwort

0

Es ist nicht eine exponierte Methode, dies zu tun, aber man kann immer eine sproc und eine Hilfsmethode Code, der für Sie tun.

Alternativ Code eine Schleife sie mit programmatischen Code zu sperren;)

for (i=0;i<lockoutTries;i++) membership.login(username,badpassword_constant); 
+4

Scheint wie ein ziemlich schrecklicher Hack ..... –

+0

@Marc_s ~ Es ist ein HORRID-Hack, aber es ist leicht programmiert, sogar von jemandem, der nicht Code schreiben kann. Die frühere Methode, die ich vorschlage, und die Logik, die damit verbunden ist, sind viel seriöser. Es erfordert jedoch ein wenig mehr Arbeit zu warten. – jcolebrand

31
MembershipUser user = Membership.GetUser("Yourusername"); 
if(user!=null){ 
user.IsApproved=false; 
Membership.UpdateUser(user); 
} 
+0

Das "missbilligt" sie. Welche Konsequenzen hat das? – jcolebrand

+0

Wenn IsApproved user false ist, wird der Benutzer nicht authentifiziert. Es ist dasselbe wie IsLockedOut, aber IsLockedOut wird automatisch abhängig von ungültigen Ausgaben gesetzt. IsApproved ist die einzige Eigenschaft, die in diesem Szenario verwendet werden kann. – gbs

+0

Danke, ich denke, es wird für mich arbeiten. Weil es die beste Lösung bisher ist – Mindtree

Verwandte Themen