锁定用户

时间:2015-04-12 10:02:18

标签: asp.net-mvc asp.net-mvc-3 asp.net-mvc-4

作为管理员,我希望能够点击一个用户并使其无法登录,我尝试了这个,但它似乎没有用。

任何提示?

public void LockUser(int Id)
    {
        var UserMan = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        var user = UserMan.FindById(Id);
        user.LockoutEnabled = true;
        UserMan.Update(user);
    }

1 个答案:

答案 0 :(得分:4)

你是在正确的轨道,但需要一件事:LockoutEnabled确实应该设置为true,但所有这一切都是允许此用户锁定。你需要实际锁定他。您可以通过指定锁定结束日期来完成此操作,因此完整的代码将如下所示:

    public void LockUser(int Id)
    {
        var UserMan = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(new ApplicationDbContext()));
        var user = UserMan.FindById(Id);
        user.LockoutEnabled = true;
        user.LockoutEndDateUtc = DateTime.Now.AddDays(14);
        UserMan.Update(user);
     }

以上代码会将用户锁定2周。有关详细信息,请参阅this blog post