Файл cookie проверки подлинности форм ASP.Net передается между сеансами

Я довольно новичок в разработке в ASP.Net, и я искал решение проблемы, но безрезультатно. Я использую Аутентификацию по формам для аутентификации пользователей, и когда я вхожу в систему с пользователем А, я покидаю текущий сеанс, генерирую новый файл cookie / id сеанса и перенаправляю на свою страницу контента, и все работает, как запланировано. Однако, когда я открываю новое окно браузера и перехожу к экрану входа в систему, таким образом, начиная новый сеанс, cookie-файл аутентификации для пользователя A автоматически передается в этот сеанс и является частью коллекции cookie-файлов запроса. Хуже того, когда я вхожу в систему как пользователь B и получаю новый файл cookie для аутентификации, а затем обновляю окно браузера для сеанса A, теперь у него есть файл cookie для аутентификации пользователя B.

Я понятия не имею, почему это происходит. Я думал, что браузер (IE9) кеширует куки-файл аутентификации, потому что коллекция заголовков ответа настроена на управление кэшем "private", хотя я специально установил Response.Cache.SetCacheability("no-cache") в своем коде позади для всех страниц. Тогда я думал, что это может быть проблема с потоками.

Любое понимание того, почему это происходит, очень ценится, спасибо.

2 ответа

Решение

Попробуйте разные браузеры, такие как Chrome и IE. Потому что браузер разделяет один и тот же cookie и временный файл даже в новых окнах. Выше сценарий произойдет, если вы попытаетесь с gmail.com или live.com.

Проверьте ваши файлы web.config для настроек сеанса.

Проверьте следующую ссылку:

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

Другие вопросы по тегам