2015-05-18 25 views
2

Я создаю печенье ASPXAUTH используя следующий кодExpire ASPXAUTH Cookie когда браузер закрывается

var authTicket = new FormsAuthenticationTicket(2, model.Name, DateTime.Now, DateTime.Now.AddMinutes(ConfigSettings.SessionTimeout), 
        false, result.UniqueId.ToString()); 

       var authCookie = new HttpCookie(FormsAuthentication.FormsCookieName, 
        FormsAuthentication.Encrypt(authTicket)) 
       { 
        HttpOnly = true, 
        Expires = authTicket.Expiration      
       }; 

       Response.AppendCookie(authCookie); 

Когда пользователь закрывает браузер (как IE и Chrome) и журналы снова сеанс все еще активен, файл cookie APSXAUTH не истек. Я установил, что он не является постоянным. Я также уверен, что все экземпляры браузера были закрыты.

Что мне не хватает?

ответ

1

Поскольку вы вручную установили свойство Expires, браузер создает постоянный файл cookie на стороне клиента.

Просто не устанавливайте там никакой ценности, прокомментируйте эту строку. Это создаст файл cookie, который длится до тех пор, пока браузер открыт.

Обратите внимание, что обычно это означает, что даже если пользователь закрывает вкладку, файл cookie все еще существует. Он исчезает, когда процесс браузера закрывается и перезапускается.