[英]How to lock user using forms authentication
編碼平台:使用C#的ASP.NET 4.0 Webforms
我有兩個角色admin和member。
在我的應用程序中,管理員可以操縱大多數成員數據。
我知道在表單身份驗證中,用戶可以解鎖,如,
MembershipUser user = Membership.GetUser(clickeduserName);
user.UnlockUser();
Membership.UpdateUser(user);
我的問題是,
MembershipUser.IsLockedOut Property
設置為ReadOnly? 這里討論了幾個選項: http : //forums.asp.net/t/1435151.aspx
它們從使用IsApproved(可設置)而不是IsLockedOut到使用底層SQL數據庫來設置鎖定標志。
您可以通過執行以下操作使其鎖定用戶(將.IsLockedOut
設置為true):
MembershipUser user = Membership.GetUser("UserToLock");
for (int i = 0; i < Membership.MaxInvalidPasswordAttempts; i++)
{
Membership.ValidateUser(user.UserName, "Not the right password");
}
摘自MSDN:
通常,當在
PasswordAttemptWindow
達到MaxInvalidPasswordAttempts
時,User's自動為LockedOut
。如果您使用接受密碼答案的
GetPassword
或ResetPassword
重載並且用戶輸入的錯誤答案數達到Membership的值,也可以鎖定用戶。Membership.PasswordAttemptWindow
MaxInvalidPasswordAttempts
。
解決方法可能是使用IsApproved屬性,如下所示:
MembershipUser user = Membership.GetUser();
user.IsApproved = false;
Membership.UpdateUser(user);
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.