如何使用表单身份验证锁定用户

nav*_*een 9 c# asp.net webforms forms-authentication

编码平台:使用C#的ASP.NET 4.0 Webforms

我有两个角色admin和member.
在我的应用程序中,管理员可以操纵大多数成员数据.
我知道在表单身份验证中,用户可以解锁,如,

            MembershipUser user = Membership.GetUser(clickeduserName);
            user.UnlockUser();
            Membership.UpdateUser(user);
Run Code Online (Sandbox Code Playgroud)

我的问题是,

  1. 如何在表单身份验证中锁定用户?
  2. 为什么MembershipUser.IsLockedOut Property设置为ReadOnly?
  3. 作为管理员,这不是LockOut人的正确方法吗?

Rob*_*evy 5

这里讨论了几个选项:http://forums.asp.net/t/1435151.aspx

它们从使用IsApproved(可设置)而不是IsLockedOut到使用底层SQL数据库来设置锁定标志.


Mat*_*att 5

您可以.IsLockedOut通过执行以下操作使其锁定用户(设置为 true):

    MembershipUser user = Membership.GetUser("UserToLock");        
    for (int i = 0; i < Membership.MaxInvalidPasswordAttempts; i++)
    {
        Membership.ValidateUser(user.UserName, "Not the right password");
    }
Run Code Online (Sandbox Code Playgroud)