Как получить доступ к той же Сессии в двух веб-сайтах?

Эй Morgan, мы создаем пользовательскую платформу в AS3 здесь в Radical и используем парадигму конечного автомата для включения любого фронтэнда действие UI.

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

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

, Когда определенные события пойманы, состояния кнопок / экранные объекты автоматически изменяются.

Наличие обобщенного набора состояний могло определенно помочь de-spaghttify Ваш код!

5
задан dove 28 November 2012 в 08:28
поделиться

5 ответов

Вы не можете пересекать домен приложения с помощью встроенного сеанса asp.net из соображений безопасности.

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

7
ответ дан 18 December 2019 в 07:30
поделиться

Если ваши приложения не используют один и тот же домен (например, оба на example.com, или одно на a.example.com, а другое на b.example.com), файлы cookie здесь вам не помогут. . Вам нужно какое-то хранилище сеансов, доступное для обоих ваших приложений, например, в базе данных, к которой у обоих есть доступ (например, как это делают stackoverflow.com и serverfault.com).

Однако вам нужно как-то выяснить, какая учетная запись пользователя / сеанс на Сайте A соответствует той же учетной записи на Сайте B; вам нужно сделать это только один раз (чтобы продолжить с SO « связать свои учетные записи »).

4
ответ дан 18 December 2019 в 07:30
поделиться

Вы не можете получить доступ к одному и тому же сеансу с совершенно разных серверов.

Судя по тому, что вы описываете, вам просто нужно использовать тот же логин, например, вы не хотите снова вводить свои учетные данные. Как ответил голубь, это делается с помощью решения Single Sign On . Статья в Википедии содержит множество полезных ссылок.

Обычно вы используете стороннюю службу (которую вы также можете предоставить сами, для этого вам никто не нужен) и некоторые перенаправления между разными серверами, чтобы получить какие-то удостоверения личности пользователя.

В основном OpenID, например, используемый здесь в stackoverflow, является решением той же проблемы, хотя обычно у вас нет неявного входа в систему - вам необходимо войти в систему явно.

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

Помните о возможных возможностях. проблемы с конфиденциальностью, если сайты явно не принадлежат друг другу. Люди могут почувствовать себя отчужденными, если вы проактивно поделились их личными данными, если они не признают, что оба сервера принадлежат одному и тому же объекту.

3
ответ дан 18 December 2019 в 07:30
поделиться

Пожалуйста, прочтите очень хорошую статью из проекта Code Единый вход для нескольких приложений в ASP.NET

Также проверьте эту ветку на asp.net http://forums.asp.net/t/1023838.aspx?View=Flat

Надеюсь, это вам очень поможет.

6
ответ дан 18 December 2019 в 07:30
поделиться

Чтобы добиться желаемого эффекта, вы выиграли » t быть в состоянии сделать это через сеансы, потому что каждый сеанс не зависит друг от друга и не может получить доступ к своим ресурсам из другого. Как утверждали другие, ближайшая вещь, которую вы можете использовать, - это какая-то реализация и система аутентификации, такая как OpenID.

DotNetOpenAuth - отличное место для начала поиска примеров того, как реализовать такого рода систему для проект ASP.NET.

1
ответ дан 18 December 2019 в 07:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: