Несколько приложений на одном сайте - сеанс и область проверки подлинности форм - PullRequest
4 голосов
/ 07 марта 2011

Мы используем ASP.NET и IIS 6.0.Я понимаю, что определения приложений, веб-сайтов и виртуальных каталогов плохо определены в IIS 6 и сильно изменились в IIS 7. Однако на данный момент я застрял с IIS 6.0.

У нас есть одинвеб-сайт, определенный в IIS, и несколько отдельных дочерних сайтов в виртуальных каталогах.

Схема выглядит следующим образом: -

http://site.example.com/site1
http://site.example.com/site2
.. etc ..

site1, site2, ... являются виртуальными каталогамив IIS 6.0 в разделе «Веб-сайт по умолчанию».

Мне нужно использовать сеансы ASP.NET и проверки подлинности на большинстве этих сайтов, и я не хочу, чтобы они обменивались данными аутентификации или информацией сеанса наall.

Оба механизма в настоящее время зависят от файлов cookie.Однако файлы cookie, созданные по умолчанию, используют то же имя и имеют путь «/» в браузере, что означает, что файлы cookie сайтов будут конфликтовать друг с другом.

Без изменения имени по умолчанию для каждого файла cookie,Как я могу обеспечить разделение между моими подсайтами?Нужно ли менять виртуальные каталоги для IIS 6 «Приложения»?Или в коде есть какой-то способ обеспечить более ограниченную область для файлов cookie?

Заранее спасибо.

1 Ответ

9 голосов
/ 07 марта 2011

Для проверки подлинности с помощью форм вы можете определить свойство FormsCookiePath для отображения виртуального каталога каждого подузла.

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

Что касается состояния сеанса, я не видел ничего, что могло бы определить путь, но вы можете определить разные имена файлов cookie, отличные от стандартного значения cookieName = "ASP.NET_SessionId" Таким образом, каждый дочерний сайт ищет разные сеансовые куки.

http://msdn.microsoft.com/en-us/library/h6bb9cz9(v=VS.100).aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...