#asp.net #single-sign-on
#asp.net #единый вход
Вопрос:
Я пытался погуглить по этой теме как сумасшедший. У меня есть этот основной домен, в котором есть пара поддоменов и объединенные домены. Все эти сайты используют один и тот же набор пользователей, которые будут входить в систему. Естественно, мне придется предоставить им единый вход. Итак, я просматривал различные форумы (включая наш) и все еще безуспешно. Это то, что я делал до сих пор.
Я установил общий машинный ключ и ключ дешифрования для всех веб-сайтов, а также мой режим аутентификации настроен на формы. Что касается поддоменов, они работают нормально, и пользователь, вошедший в основной, получает подтверждение в поддомене. Тот же случай, к сожалению, не работает в доменах (и я знаю, что файлы cookie не могут быть доступны в разных доменах, но я установил ключ компьютера и ключ дешифрования).
Ответ №1:
Да и нет. .NET не поддерживает это «из коробки».
Если вы хотите принудительно авторизовать пользователей определенного домена, вы можете перенаправить пользователей на этот домен / страницу входа. После того, как вы аутентифицируете пользователя в своем основном домене, затем перенаправляете пользователя обратно на его исходную страницу и размещаете некоторый ключ шифрования на странице, которая сообщает сайту, что пользователь аутентифицирован, затем вы устанавливаете cookie для нового домена, если вам нужен постоянный файл cookie для аутентификации.
Это более или менее метод, используемый такими сайтами, как Stack Overflow при использовании Open ID, или для msn при использовании live id.
Комментарии:
1. О да, наконец-то я смог это осознать. Не странно ли это? В идеале между веб-приложениями должен быть обмен аутентифицированными файлами cookie. Ого! Спасибо, Mystere Man. Это помогает.
2. Нет, нет способа обмениваться файлами cookie между приложениями. Если бы это было так, это было бы недостатком безопасности.