2016-03-04 1 views
0

Я хранится идентификатор пользователя и пароль, используя куки, если пользователь нажимает на запомнить флажок на взгляд входаГде на самом деле хранятся asp.net mvc httpcookies?

HttpCookie UserID = new HttpCookie("UserID"); 
HttpCookie Password = new HttpCookie("Password"); 

UserID.Value = vm.UserID; 
UserID.Expires = DateTime.Now.AddDays(30); 
Password.Value = vm.Password; 
Password.Expires = DateTime.Now.AddDays(30); 

Response.Cookies.Add(UserID); 
Response.Cookies.Add(Password); 

Я ясно браузер куки, но он остается, как это означает, когда пользователь открытый вид Войти затем USERID и поля паролей являются заполняется автоматически. Итак, где эти куки фактически хранятся на стороне клиента или на стороне сервера? И как пользователь очищает эти файлы cookie, если они хотят?

+0

Возможный дубликат [Удалить куки щелкать выйти] (http://stackoverflow.com/questions/7079565/delete-cookie-on-clicking-sign-out) – Mathemats

ответ

0

Браузер отвечает за управление куки-файлами в пользовательской системе. Куки-файлы отправляются в браузер через объект HttpResponse, который предоставляет коллекцию Cookies. Вы можете получить доступ к объекту HttpResponse в качестве свойства Response вашего класса Page. Любые файлы cookie, которые вы хотите отправить в браузер, должны быть добавлены в эту коллекцию. При создании файла cookie указываются имя и значение. Каждый файл cookie должен иметь уникальное имя, чтобы его можно было идентифицировать позже, читая его из браузера. Поскольку файлы cookie хранятся по имени, именование двух файлов cookie одинаково, их можно будет перезаписать.

Вы можете добавить файлы cookie в коллекцию Cookies несколькими способами.

Пример

Response.Cookies["userName"].Value = "Tim"; 
Response.Cookies["userName"].Expires = DateTime.Now.AddDays(1); 

HttpCookie aCookie = new HttpCookie("lastVisit"); 
aCookie.Value = DateTime.Now.ToString(); 
aCookie.Expires = DateTime.Now.AddDays(1); 
Response.Cookies.Add(aCookie);` 

использование Истекает функции и указать время

Куки могут быть остальные, потому что вы отправляете его из стороны сервера снова

aCookie.Expires = DateTime.Now.AddMinutes(1.0);

Это удалит эту печенье после 1 минуты от текущего времени

aCookie.Expires = DateTime.Now.AddDays(-1); 

Это удалит, что печенье 1 день до т, вчера

1

HttpCookie Если вы сохранили с ограничением по времени, так это доля жесткого диска, но если вы используете непостоянные куки для вашего приложения это очень полезно и живое только время открытия браузера. Когда пользователь закрывает браузер, cookie отбрасывается.

Использование справки https://msdn.microsoft.com/en-us/library/ms178194.aspx

Смежные вопросы