Срок действия cookie от LoginView - PullRequest
       15

Срок действия cookie от LoginView

0 голосов
/ 17 декабря 2011

Я хочу, чтобы истек срок действия файла cookie при каждом щелчке по LoginView в моем приложении asp.net. Я попытался запустить код OnViewChanged и OnViewChanging, но, похоже, код не выполняется.

<asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false" 
                OnViewChanging="HeadLoginView_ViewChanging">

    protected void HeadLoginView_ViewChanging(object sender, EventArgs e)
    {
        if (Request.Cookies["storeNum"] != null)
        {
            HttpCookie myCookie = new HttpCookie("storeNum");
            myCookie.Expires = DateTime.Now.AddDays(-1d);
            Response.Cookies.Add(myCookie);
        }
    }

Моя страница login.aspx проверяет наличие этого файла cookie на Page_Load и автоматически перенаправляет пользователя на главную страницу сайта, избавляя его от необходимости входа в систему. Но если они решат снова войти в систему, я хочу, чтобы срок действия файла cookie истек страница входа для загрузки. Если я нажимаю на кнопку входа в систему, я просто продолжаю перенаправляться обратно на главную страницу, потому что кажется, что код для истечения срока действия cookie никогда не запускается. Я знаю, что это, наверное, чертовски просто, но я новичок в C # и самоучка. Пожалуйста, не присылайте комментарии только для того, чтобы отметить, насколько легко это должно быть, так как я хорошо это знаю.

1 Ответ

1 голос
/ 17 декабря 2011

Не думаю, что события ViewChange будут работать для этого.

Простым решением этой проблемы было бы добавление параметра forceLogout к URL-адресу входа, отображаемому в «LoggedInTemplate». Найдите параметр в методе Page_Load вашей страницы входа. Если это не там, идти вперед и сделать перенаправление. Если это так, выйдите из системы и не выполняйте перенаправление.

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack && string.IsNullOrEmpty(Request.QueryString["forceLogout"]))
    {
        // log the user out 
    }
    else
    {
        // Your original logic
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...