Есть ли элегантное решение для синхронизации сеансов между несколькими приложениями ASP.NET? Я уверен, что это легко можно считать дырой в безопасности, но есть стороннее приложение ASP.NET, для которого нет возможности расширения. По этой причине разрабатывается второй [связанный] сайт, но для него потребуется прямой доступ к сеансам, созданным в стороннем приложении.
Например, когда пользователь входит / выходит из одного сайта, такая же операция должна выполняться на другом сайте. Однако важно отметить, что это выходит за рамки обычного единого входа.





Файлы cookie - это вариант, предполагающий, что приложение хранит некоторые ключевые данные в своих файлах cookie. Если другой сайт находится в том же домене, он может их прочитать.
Попробуйте поставщик состояния сеанса memcached: http://www.codeplex.com/memcachedproviders Поскольку кеш запускается в отдельной службе, я уверен, что вы можете получить доступ к одному и тому же пулу хранения из разных приложений.
Использование SQL Server для хранения - одно из самых простых решений. Убедитесь, что для объектов SQL установлены надлежащие разрешения. Я не знаком с тем, что предложил Ману. На самом деле есть еще один способ сделать это, что немного сложно. Это делается путем реализации модификации шаблона, подобного сувениру. App1 хранит информацию о сеансе в базе данных, но вместо того, чтобы другое приложение App2 получало доступ к БД, информация о сеансе предоставляется через службу, на которую App2 может ссылаться. Как только пользователь переходит в app2 и проходит аутентификацию, его сеанс восстанавливается с помощью службы.
Надеюсь, это поможет. У меня это сработало в одном из моих проектов.
Используйте NCache - http://www.alachisoft.com/ncache/
Это поможет вам достичь того, чего вы ищете.
Он также имеет встроенный распределенный кеш состояния сеанса ASP.NET и поможет вам обмениваться сеансами на нескольких сайтах. Подробности здесь