简单的会员提供者,AccountController和auth cookie ASP.Net MVC 4

时间:2015-09-03 14:19:04

标签: asp.net-mvc-4 authentication cookies simplemembership

只需查看验证用户的默认代码:

[HttpPost]
[AllowAnonymous]
[ValidateAntiForgeryToken]
public ActionResult Login(LoginModel model, string returnUrl) {
  if (ModelState.IsValid && WebSecurity.Login(model.UserName, model.Password, persistCookie: model.RememberMe)) {
    return RedirectToLocal(returnUrl);
  }

  // If we got this far, something failed, redisplay form
  ModelState.AddModelError("", "The user name or password provided is incorrect.");
  return View(model);
}

当用户被验证时,用户将重定向到视图,但在用户PC中没有删除auth cookie,因为我没有找到相应的代码。

那么告诉我WebSecurity.Login()函数在内部执行它还是需要编写代码来删除用户pc中的auth cookie

1 个答案:

答案 0 :(得分:1)

WebSecurity.Login()添加一个名为的会话Cookie:.ASPXAUTH。

来自MSDN网站:(https://msdn.microsoft.com/en-us/library/webmatrix.webdata.websecurity.login(v=vs.111).aspx

public static bool Login(
    string userName,
    string password,
    bool persistCookie
)

<强>的userName 键入:System.String 用户名。

密码 键入:System.String 密码。

<强> persistCookie 键入:System.Boolean (可选)如果为true,则指定cookie中的身份验证令牌应保留在当前会话之外;否则是假的。 默认值为false

当用户登录时,ASP.NET会在cookie中设置一个身份验证令牌,让ASP.NET知道用户已登录的后续请求。如果persistCookie为false,则令牌仅有效直到用户关闭浏览器。

您无需添加任何内容。