我有一个用户模型:
[Required]
public string Password { get; set; }
[Required]
public string UserName { get; set; }
我有一个MyMembershipProvider : MembershipProvider
包含:
public override bool ValidateUser(string username, string password)
{
if (username == ConfigurationManager.AppSettings["DefaultUsername"] && password == ConfigurationManager.AppSettings["DefaultUserPassword"])
{
return true;
}
else
{
return false;
}
}
我的登录操作如下所示:
[HttpPost]
public ActionResult LogOn(User model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
return RedirectToAction("Index", "Home");
}
else
{
ModelState.AddModelError("", "The user name or password provided is incorrect.");
}
}
// If we got this far, something failed, redisplay form
return View(model);
}
问题:
当我指定正确的用户名和密码时,我似乎无法转到包含该[Authorize]
属性的操作和控制器。当我使用断点时,它确实落入return RedirectToAction("Index", "Home");
但拒绝访问索引页面。
任何人都可以看到我要去哪里可怕的错误?