2010-08-23 1 views
4

У меня есть приложение ASP.NET MVC, работающее под IIS7. Он использует управление сеансом по умолчанию в процессе, которое, в соответствии со всем, что я прочитал, должно потерять сессию пользователей после повторного использования пула приложений. Это, похоже, не теряет его. Даже сброс IIS не теряет сессию. Что-то изменилось в IIS7, который поддерживает сеанс?IIS7 ASP.NET in-proc session НЕ теряется после утилизации приложения

+1

Вы определенно видим одни и те же данные сессии после рецикла, или только один и тот же идентификатор сессии? – stevemegson

+0

Можете ли вы предоставить свой раздел конфигурации сеанса из вашего web.config? Похоже, что вы используете сервер состояния или сервер sql вместо сервера по умолчанию в процессе. –

+0

@stevemegson. Возможно, это только идентификатор сеанса. Возможно, я не понимаю, как хранятся данные сеанса. Пользователь по-прежнему регистрируется после повторного использования приложения, но я не сохраняю никаких других данных в сеансе. Пользователь должен быть выведен из системы, хотя, не должны ли они, поскольку сервер должен потерять свои идентификаторы сеанса? –

ответ

2

Это связано с воспроизведением файлов cookie - происходит то, что ваш браузер отправляет cookie со старым аутентификационным билетом, который принимается как новый сеанс, так как веб-сервер не сохраняет действительные и истекшие билеты аутентификации для последующего сравнения. Это делает ваш сайт уязвимым для повторной атаки, если злоумышленник получает действительный файл cookie проверки подлинности. Для повышения безопасности при использовании форм аутентификации печенье см MSDN ссылку ниже:

http://msdn.microsoft.com/en-us/library/system.web.security.formsauthentication.signout.aspx

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

  • Нет связанных вопросов^_^