如何禁用已禁用的帐户以使用应用程序

时间:2015-07-23 06:18:10

标签: asp.net asp.net-mvc asp.net-mvc-3 authentication asp.net-membership

ASP .NET MVC3应用程序使用下面的MVC3应用程序模板中的登录控制器。控制器由[Authorize]属性修饰:

[Authorize]
public class CheckoutController : ControllerBase

用户输入用户名和密码,然后点击"记住我"复选框。授权cookie存储在浏览器中,后续访问时不再询问凭据。

可以通过在帐户数据库中设置已禁用的字段来禁用用户。 如果此类用户尝试登录成员资格提供程序返回错误并且登录失败。

但是,如果用户已登录,则不会调用成员资格提供程序。已禁用的用户可以继续使用应用程序 如何解决这个问题,以便禁用的用户无法使用应用程序?

LogOn控制器基本上来自Visual Studio MVC3示例应用程序模板:

    [HttpPost]
    public ActionResult LogOn(LogOnModel model, string returnUrl)
    {
        if (string.IsNullOrWhiteSpace(model.UserName) || string.IsNullOrWhiteSpace(model.Password))
        {
            ModelState.AddModelError("", "User or password not filled");
            return View(model);
        }
        if (MembershipService.ValidateUser(model.UserName, model.Password))
        {
            FormsService.SignIn(model.UserName, model.RememberMe);
            if (!String.IsNullOrEmpty(returnUrl))
                return Redirect(returnUrl);
            return RedirectToAction("Index", "Home");
        }
        else
        {
            ModelState.AddModelError("", "Logon error");
        }
        return View(model);
    }

0 个答案:

没有答案