3

我希望我网站上的管理员能够锁定成员,但默认 mvc 成员身份的 IsLockedOut() 是只读的。我读到我需要创建一个自定义会员提供程序,但我不完全确定这意味着什么。我需要创建一个具有 membersUser 属性的新模型吗?如果可能,我不想在数据库中创建新表。

这是我的 lockUser 方法的代码:

public static void LockUser(this MembershipUser user)
    {
        using (var db = new MovieContext())
        {
            Guid userid = (Guid)user.ProviderUserKey;
            MembershipUser member = Membership.GetUser(userid);
            member.IsLockedOut = true;
            member.LastLockoutDate = DateTime.Now;
            db.SaveChanges();
        }
    }
4

1 回答 1

6

安德鲁,试试这个方法。它使用 IsApproved 而不是 IsLockedOut。如果您的实现尚未使用 IsAproved,这将是一个很好的解决方案。

MembershipUser muUser = Membership.GetUser(strUsernameToActOn);
muUser.IsApproved = false;
Membership.UpdateUser(muUser);

这并不完全锁定用户。从技术上讲,此呼叫正在从用户那里获得批准状态,并使他们无法登录。

于 2013-03-19T03:14:17.503 回答