То, что вам нужно, - это решение с единым входом.
Поскольку аутентификация ASP.NET лежит в основе, как правило, на основе файлов cookie, необходимо обратить внимание на две вещи:
- Правильно установите файлы cookie.
- При регистрации зарегистрируйте пользователей в альтернативном домене.
Более подробно рассмотрим оба из них:
1.Правильная установка файлов cookie
Необходимо убедиться, что ASP.NET записывает файлы cookie для билетов проверки подлинности в корневой домен, а не в явный домен, это выполняется с помощью атрибута domain
элемента forms:
<forms
name="name"
loginUrl="URL"
defaultUrl="URL"
domain=".example.com">
</forms>
Вы должны установить свой домен на «.example.com» - обратите внимание на начальный период - это ключ.Таким образом, запросы к доменам example.com и www.example.com будут правильно считывать cookie и аутентифицировать пользователя.
2.Переадресация пользователей на альтернативный домен
То, что мы реализовали на нескольких сайтах, использующих единый вход, - это процесс входа в оба конца.Пользователь аутентифицируется в первом домене, мы шифруем данные для входа и перенаправляем их на известную страницу во втором домене, регистрируем их там, а затем перенаправляем обратно на исходный сервер.
Это перенаправление на стороне клиентаважно - файлы cookie записываются только тогда, когда клиент получает ответ, и браузер должен посетить второй домен, чтобы увидеть файлы cookie.
Другие детали, которые следует учитывать при такой настройке:
- Возможно, вы хотите установить тайм-аут для зашифрованных данных входа в систему, чтобы при вызове этого URL из истории браузера пользователь не входил автоматически.
- Еслидомены находятся на разных серверах, вам необходимо убедиться, что ключи машины настроены одинаково, чтобы можно было правильно шифровать и дешифровать детали или использовать какой-либо другой общий ключ.
- Возможно, вы захотитеиметь механизм для вызова пользователей ReturnUrl с исходного сервера, чтобы вы могли отправитьобратно в правильное место.
Вы также можете взглянуть на «Аутентификация с помощью форм в приложениях»