2015-07-29 2 views
0

У меня есть небольшой запрос. У меня есть сайт с логином, я разрешаю пользователю регистрироваться только один раз. Для этого я воспользовался StackoverFlow. Обратите внимание: stackoverflow linkОшибка сеанса при закрытии браузера Firefox

Вот краткое описание: Когда пользователь входит в систему, я добавляю значение переменной сеанса и переменной приложения. И когда пользователь пытается снова войти в систему, я проверяю сеанс, а также переменные приложения, и если он не существует, я разрешаю пользователю входить в систему. Это прекрасно работает в Chrome, но дает некоторые проблемы в Firefox и IE. В Chrome я все равно могу получить сохраненную переменную сеанса, даже если браузер закрыт и снова открыт. Но в случае IE и firefox я не могу этого сделать. Моя переменная сеанса пуста, когда пользователь закрывает браузер и снова открывается.

Как сохранить мои переменные сеанса даже после закрытия пользователем браузера? Это как-то связано с sessionState?

+2

В Chrome есть опция «продолжить, где вы остановились», чтобы сохранить cookie сессии; вы не должны полагаться на это. –

+0

Спасибо всем за быстрый ответ. Так что, если я не могу полагаться на это, тогда есть любые переменные asp.net, которые могут сохраняться даже при закрытии браузера? – Arti

+0

* Аутентификация форм * использует постоянный файл cookie –

ответ

0

Это прекрасно работает в Chrome, но дает некоторые проблемы в Firefox и IE.

Это потому, что Chrome сохраняет информацию о сеансе. Эта функция не добавляется в другие браузеры, о которых я знаю. Поскольку эта функция не является документированным стандартом, вы не можете полагаться на это.

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

Должность How can I manually create a authentication cookie instead of the default method? может быть вам полезна с тех пор, как вы используете ASP.NET.

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