Единая точка входа с аутентификацией форм

Я пытаюсь настроить Единую точку входа для 2 веб-сайтов, которые находятся на том же домене

например.

http://mydomain (высокоуровневый сайт, который содержит подлинную формами страницу входа в систему),

http://mydomain/admin (отдельно разработанный веб-сайт, находящийся в Виртуальном приложении в родительском веб-сайте)

Прочитали несколько статей о Единой точке входа, например.

http://www.codeproject.com/KB/aspnet/SingleSignon.aspx

http://msdn.microsoft.com/en-us/library/dd577079.aspx

И они, кажется, предполагают, что это - просто случай наличия того же раздела machinekey в каждом web.config так, чтобы шифрование cookie и дешифрование были тем же для каждого приложения

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

Мне всегда предлагают в родительском сайте.

В дополнение к наличию того же machinekey я также попытался добавить то же и элементы

Какая-либо идея, что я мог пропускать?

7
задан ChrisCa 16 March 2010 в 10:56
поделиться

4 ответа

Я использовал в разделе httpModules, поскольку в родительском элементе были элементы, которых не было в каталоге bin для дочернего (/ admin)

При этом ( используя то есть) я случайно очистил модуль FormsAuthentication, указанный в web.config в C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG

, поэтому мне нужно было повторно добавить их явно в дочернюю (/ admin) конфигурацию

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

Попробуйте настроить раздел httpCookies в файле web.config обоих приложений для использования одного домена. Таким образом, когда вы входите в одно приложение, полученный вами файл cookie FormsAuthentication будет виден другому приложению.

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

У вас должны быть те же элементы аутентификации в web.config. Убедитесь, что в элементе содержащихся форм вы указали для каждого приложения одинаковое значение атрибута name. Для атрибута loginUrl я использую относительный путь и одну и ту же страницу входа в систему для всех приложений (например, loginUrl = "/ MainApp / login.aspx").

Кроме того, вы создаете билет аутентификации вручную?

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

Ваш раздел форм в web.config должен быть таким же.

Цитата из - Аутентификация форм между приложениями

Чтобы настроить аутентификацию форм между приложениями, вы устанавливаете атрибуты разделов forms и machineKey файла Web.config на одинаковые значения для всех приложений, участвующих в общей аутентификации форм.

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

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

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