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

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

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

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
0
2 248
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

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

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

Ответ принят как подходящий

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

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

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

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

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

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