Я работаю над проектом ASP.NET MVC4 с использованием SimpleMembership, который генерирует cookie ASPXAUTH при входе в систему. Кажется, он работает нормально, но сегодня я открыл другой проект MVC4, только чтобы заметить, что я уже вошел в систему.Simplemembership ASPXAUTH cookie, проверяющий два отдельных веб-проекта
Это было чрезвычайно странно, потому что новый проект буквально не имеет пользователей, определенных в базе данных. Еще более неприятно, когда я ударил «выйти из системы» в новом проекте, он вывел меня из исходного сайта.
Оба сайта работают на разных портах, хотя и на локальном хосте. При рассмотрении запроса, чтобы узнать, почему он возвращает «IsAuthenticated == true», я заметил, что cookie ASPXAUTH отправляется на оба сайта, а параметр «domain» файла cookie в отладчике «null». Это заставило меня подумать, что, возможно, cookie генерируется как «бездонный» cookie (я понятия не имею, возможно ли это вообще, если честно!), И посмотрел настройку web.config, чтобы указать домен :
<authentication mode="Forms">
<forms loginUrl="~/Account/Login" timeout="2880" domain="http://localhost:56626" />
</authentication>
К сожалению, установка параметра «домен» заставила cookie прекратить работу. Я пробовал все перестановки (с http, без http, с портом, без порта и т. Д.), И каждый раз, когда я указываю домен, браузер получает cookie с правильно указанным доменным именем (я изучил его в инструментах разработчика Chrome) но затем не удается отправить его обратно на сервер последующих запросов.
Итак, я довольно смущен тем, что здесь происходит. Является ли это утечкой безопасности, которую я вызвал, не создавая что-то правильно? Или это совершенно нормальное поведение, которое cookie ASPXAUTH разрешит пользователю в двух совершенно разных веб-приложениях на двух разных портах в одном домене? Я бы проверил это на веб-хосте, но, к сожалению, у меня нет доступа к любому запуску MVC4 на данный момент.
Заранее спасибо.
Проверить здесь http://stackoverflow.com/questions/1612177/are-http-cookies-port-specific – Chandermani