Я переопределил Application_AuthenticateRequest () в моем Global.asax, чтобы попытаться лучше понять поток событий.Я использую поставщика членства, который поставляется с приложением MVC2 по умолчанию.
Я подумал, если бы я сделал это:
public void Application_AuthenticateRequest(object sender, EventArgs args)
{
HttpCookie authCookie = Request.Cookies[FormsAuthentication.FormsCookieName];
if (authCookie != null)
{
authCookie.Expires = System.DateTime.Now.AddDays(-1); // Set the cookie expires time in order to delete it
Response.Cookies.Add(authCookie);
}
}
Пользователь может войти в систему, но после загрузки страницы после того, как онпри отправке формы входа они будут отображаться как не вошедшие в систему, так как я уничтожил их файл cookie авторизации.
Однако это не так.Вместо этого они могут успешно войти в систему, и он покажет, что они вошли в систему при загрузке страницы.На следующей странице, которую они нажмут, они выйдут из системы.
Я думал, что вовремя не уничтожил их cookie, поэтому поместил этот код в Application_BeginRequest () внутри моего Global.asax.Это дало те же результаты.
Значит ли это, что я все еще не уничтожил их cookie во времени, или я не правильно понимаю поток событий?