Синхронизация сеансов ASP.NET на нескольких сайтах

StackOverflow https://stackoverflow.com/questions/391912

  •  23-08-2019
  •  | 
  •  

Вопрос

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

Например, когда пользователь входит в систему или выходит из нее на одном сайте, та же операция должна произойти на другом сайте.Однако важно отметить, что это выходит за рамки обычного единого входа.

Это было полезно?

Решение

Использование SQL Server для хранения — одно из самых простых решений. Убедитесь, что у вас установлены соответствующие разрешения для объектов SQL.Я не знаком с тем, что предложил Ману.На самом деле есть еще один способ сделать это, который немного сложнее.Это делается путем реализации модификации шаблона, подобного сувениру.App1 хранит информацию о сеансе в базе данных, но вместо того, чтобы другое приложение App2 получало доступ к БД, информация о сеансе предоставляется через службу, на которую может ссылаться App2.Как только пользователь перейдет к приложению2 и пройдет аутентификацию, его сеанс восстанавливается с помощью службы.

Надеюсь, это поможет.Это сработало для меня в одном из моих проектов.

Другие советы

Попробуйте поставщик состояния сеанса memcached: http://www.codeplex.com/memcachedprovidersПоскольку кеш работает в отдельной службе, я почти уверен, что вы можете получить доступ к одному и тому же пулу хранения из разных приложений.

Файлы cookie — это вариант, предполагающий, что приложение хранит некоторые ключевые данные в своих файлах cookie.Если другой сайт находится в том же домене, он может их прочитать.

Используйте NCache — http://www.alachisoft.com/ncache/

Это поможет вам достичь того, что вы ищете.

Он также имеет встроенный распределенный кеш состояния сеанса ASP.NET и поможет вам совместно использовать сеансы на нескольких сайтах. Подробности здесь

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top