フォーム認証でセッションIDがどのように機能するのでしょうか?私は家のコントローラーでResponse.Write(Session.SessionID);
をしてからログアウトしました。私は新しいユーザーとしてログインし、セッションIDは同じでした。以下は私のログオンとログオフアクションです:ASP.NET MVC - フォーム認証/セッションID
ログオン:
[HttpPost]
public ActionResult LogOn(LogOnModel model, string returnUrl)
{
try
{
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("LogonError", model);
}
catch (Exception ex)
{
string test = ex.Message;
return PartialView("_Error", test);
}
}
ログオフ:
public ActionResult LogOff()
{
FormsAuthentication.SignOut();
return RedirectToAction("Index", "Home");
}
フォーム認証Cookieとは異なり、独自のCookieを持っています認証とセッションのために。 – Believe2014