У меня есть приложение под управлением ASP.NET. У меня разные домены и разные поддомены. Я хочу, чтобы домены совместно использовали сессию со своими поддоменами.
Например, следующие домены имеют доступ к этому приложению:
www.example1.com
print.example1.com
www.example2.com
print.example2.com
Если пользователь заходит на www.example1.com и print.example1.com, я хочу, чтобы он использовал тот же сеанс. Если бы пользователь пошел на www.example2.com и print.example2.com, я бы хотел, чтобы он использовал сеанс, отличный от * .example1.com.
То, как я привык к этому, было взломом page_load, который отлично работает в IIS6:
Response.Cookies ["ASP.NET_SessionId"]. Значение = Session.SessionID;
Response.Cookies ["ASP.NET_SessionId"]. Domain = SiteUtility.GetCookieDomain ();
(SiteUtility.GetCookieDomain возвращает .example1.com или .example2.com в зависимости от URL-адреса запроса)
К сожалению, это больше не работает для iis7. Каждый субдомен / домен, на который идет пользователь, получает новый сеансовый файл cookie.
Затем я нашел запись web.config:
'.
Это прекрасно подходит для совместного использования файлов cookie сеанса между поддоменами example1.com. К сожалению, это полностью портит состояние сеанса для * .example2.com.
Есть идеи, как мне это решить?