2010-12-26 13 views
16

Sto usando il provider di appartenenza a asp.net. e ho bisogno di bloccare l'account utente nel caso in cui l'utente posta spam. Come posso realizzarlo utilizzando le funzionalità di build del provider di appartenenza.Come disabilitare un account con il provider di appartenenze ASP.NET?

Posso utilizzare IsLockedOut? In tal caso, come posso aggiornarlo a livello di programmazione?

Grazie

+1

no non è possibile utilizzare isLockedOut, è in sola lettura. Ma puoi usare IsApproved come mostrato sotto nella mia risposta. – gbs

risposta

0

Non esiste un metodo esposto per farlo, ma si può sempre codificare uno sproc e un metodo di supporto per farlo per voi.

In alternativa, il codice un ciclo per bloccarli con il codice programmatico;)

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

Sembra un trucco piuttosto orribile ..... –

+0

@Marc_s ~ È un trucco HORRID ma è facilmente programmabile, anche da qualcuno che non può scrivere codice. Il metodo precedente che suggerisco e la logica che implica è molto più sano. Tuttavia richiede un po 'più di lavoro da mantenere. – jcolebrand

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

Che "non le apprezza". Quali sono le implicazioni di farlo? – jcolebrand

+0

Se l'utente IsApproved è falso, l'utente non verrà autenticato. È uguale a IsLockedOut, ma IsLockedOut viene impostato automaticamente in base agli output non validi. IsApproved è l'unica proprietà che può essere utile in questo scenario. – gbs

+0

Grazie, penso che funzionerà per me. Perché è la soluzione migliore finora – Mindtree

Problemi correlati