2010-12-26 11 views
16

Używam dostawcy członkostwa asp.net. i muszę zablokować konto użytkownika na wypadek, gdyby użytkownik wysyłał spam. Jak mogę to zrobić za pomocą wbudowanych funkcji dostawcy członkostwa.Jak wyłączyć konto z dostawcą członkostwa ASP.NET?

Czy mogę używać IsLockedOut? Jeśli tak, to w jaki sposób mogę go zaktualizować programowo?

Dziękuję

+1

no nie można używać isLockedOut, jest tylko do odczytu. Ale możesz użyć IsApproved, jak pokazano poniżej w mojej odpowiedzi. – gbs

Odpowiedz

0

Nie ma odkryta metoda aby to zrobić, ale zawsze można zakodować sproc i metody pomocnika zrobić to za Ciebie.

przemian kod pętli zablokować je z kodem programowym;)

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

Wydaje się być dość okropnym hack ..... –

+0

@Marc_s ~ Jest to HORRID hack, ale jest łatwo zaprogramowany, nawet przez kogoś, kto nie może napisać kodu. Wcześniejsza metoda, którą sugeruję, i logika, której ona dotyczy, są znacznie bardziej uciążliwe. Jednak wymaga trochę więcej pracy do utrzymania. – jcolebrand

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

To "nie aprobuje" ich. Jakie są tego konsekwencje? – jcolebrand

+0

Jeśli użytkownik IsApproved ma wartość false, użytkownik nie zostanie uwierzytelniony. Jest taki sam jak IsLockedOut, ale IsLockedOut jest ustawiany automatycznie w zależności od nieprawidłowych wyjść. IsApproved jest jedyną właściwością, która może być użyteczna w tym scenariuszu. – gbs

+0

Dziękuję, myślę, że to zadziała dla mnie. Ponieważ jest to najlepsze rozwiązanie do tej pory – Mindtree

Powiązane problemy