ASP.NET MVC - проверка подлинности с помощью форм / идентификатор сеанса - PullRequest
2 голосов
/ 15 февраля 2012

Мне интересно, как идентификатор сессии работает в проверке подлинности с помощью форм? Потому что я сделал Response.Write(Session.SessionID); на своем домашнем контроллере, а затем вышел из системы. Затем я вошел в систему как новый пользователь и идентификатор сессии был таким же. Ниже приведены действия по входу и выходу из системы:

LogOn:

[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);
        }
    }

LogOff:

    public ActionResult LogOff()
    {
        FormsAuthentication.SignOut();

        return RedirectToAction("Index", "Home");
    }

1 Ответ

4 голосов
/ 15 февраля 2012

Сессия имеет свой собственный файл cookie, отличный от файла cookie проверки подлинности с помощью форм

...