ASP.NET - аутентификация на нескольких доменах - PullRequest
0 голосов
/ 18 декабря 2009

Мой сайт может быть доступен из многих доменов (мой собственный блог-движок). Итак, как я могу перекрестную аутентификацию?

Я использую: IIS7, C #, членство asp.net, аутентификация формы.

1 Ответ

2 голосов
/ 18 декабря 2009

Если вы используете Active Directory (при условии, что это то, что вы называете доменами), вы можете просто настроить несколько разделов ActiveDirectoryMembershipProvider и использовать шаблоны элементов управления asp:Login, добавить раскрывающийся список для доменов, для которых вы хотите пройти аутентификацию и в событии OnAuthenticate элемента управления входом установите выбранного поставщика членства AD.

Для разных поставщиков, таких как поставщик членства в SQL Server, я не уверен, что понимаю, в чем проблема. Вы можете уточнить?

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

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

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

Крики, это долгий способ сказать: «Нет, ты не можешь - надежно».

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

...