我正在使用mvc,在我的控制器中我有以下代码:
[HttpPost]
public ActionResult LogOn(LoginViewModel model, string password)
{
if (ModelState.IsValid)
{
if (new BAUser().GetUserbyUsername(model.UserName) != null)
{
UserTable u = new UserTable();
u = new BAUser().GetUserbyUsername(model.UserName);
if (u.Password == model.Password)
{
FormsAuthentication.Authenticate(u.Username, u.Password);
FormsAuthentication.SetAuthCookie(u.Username, false);
Session["LoggedUser"] = u;
**if(Request.IsAuthenticated == true)
{
UserTable user = u;
}**
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);
}
使用**的if语句只是为了使用断点进行测试,无论请求是否经过身份验证。但是,身份验证过程似乎不起作用。有什么我做错了吗?我正在使用VS 2013
我找到了使用会话的解决方法,但是如果有人找到解决方法,请告诉我。