我研究了 mvc3,并在 asp.net 网站上阅读了很多文章或观看视频。在我对 mvc3 有所了解之后,我对授权属性有疑问,以验证用户是否登录。当我创建一个页面来验证用户时的默认代码是这样的:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
if (ModelState.IsValid)
{
if (Membership.ValidateUser(model.UserName, model.Password))
{
FormsAuthentication.SetAuthCookie(model.UserName, model.RememberMe);
if (Url.IsLocalUrl(returnUrl) && returnUrl.Length > 1 && returnUrl.StartsWith("/")
&& !returnUrl.StartsWith("//") && !returnUrl.StartsWith("/\\"))
{
return Redirect(returnUrl);
}
else
{
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);
}
如果我不想使用 Membership 和 FormsAuthentication(不要说 Windows 身份验证)来授权用户。那么有什么方法可以创建一些东西来验证用户身份,当我使用Authorize 属性时,它会像我使用Membership 和 FormsAuthentication时一样工作。我不知道使用什么 Authorize 属性来验证用户是否登录,因此我可以自己创建会话或 cookie 来验证用户。如果我的问题不清楚,请告诉我!谢谢阅读!