Я пытаюсь настроить Единую точку входа для 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 я также попытался добавить то же
и
элементы
Какая-либо идея, что я мог пропускать?
Я использовал
в разделе httpModules, поскольку в родительском элементе были элементы, которых не было в каталоге bin для дочернего (/ admin)
При этом ( используя
то есть) я случайно очистил модуль FormsAuthentication, указанный в web.config в
C: \ WINDOWS \ Microsoft.NET \ Framework \ v2.0.50727 \ CONFIG
, поэтому мне нужно было повторно добавить их явно в дочернюю (/ admin) конфигурацию
Попробуйте настроить раздел httpCookies в файле web.config обоих приложений для использования одного домена. Таким образом, когда вы входите в одно приложение, полученный вами файл cookie FormsAuthentication будет виден другому приложению.
У вас должны быть те же элементы аутентификации в web.config. Убедитесь, что в элементе содержащихся форм вы указали для каждого приложения одинаковое значение атрибута name. Для атрибута loginUrl я использую относительный путь и одну и ту же страницу входа в систему для всех приложений (например, loginUrl = "/ MainApp / login.aspx").
Кроме того, вы создаете билет аутентификации вручную?
Ваш раздел форм в web.config должен быть таким же.
Цитата из - Аутентификация форм между приложениями
Чтобы настроить аутентификацию форм между приложениями, вы устанавливаете атрибуты разделов forms и machineKey файла Web.config на одинаковые значения для всех приложений, участвующих в общей аутентификации форм.
В следующем примере показан раздел Authentication файла Web.config файла. Если не указано иное, то имя, защита, путь, validationKey, валидация, ключ расшифровки и атрибуты расшифровки должны быть идентичными во всех приложениях. Аналогично, значения ключей шифрования и значения ключей валидации и схема шифрования и валидации схема, используемая для аутентификационных билетов (данные cookie) должны быть одинаковыми. Если параметры не совпадают, аутентификационные билеты аутентификации не могут быть общими.