Службы федерации Active Directory (Active Directory® Federation Services, AD FS) – это серверная роль в операционной системе Windows Server® 2008. С помощью AD FS можно создать расширяемое, Интернет-масштабируемое и безопасное решение для управления идентификацией пользователей и правами доступа, способное функционировать на нескольких платформах, включая среды как ОС Windows, так и других ОС.
Для получения дополнительной информации о службах AD FS обратитесь к статье Обзор служб Active Directory Federation Services. Для получения дополнительной информации о новых возможностях служб AD FS в ОС Windows Server 2008 обратитесь к разделу Новые возможности служб AD FS в Windows Server 2008 (EN) на веб-узле Microsoft TechNet.
На этой странице
Об этом руководстве
Это руководство содержит инструкции по установке и настройке служб AD FS на компьютерах под управлением ОС Windows Server 2008 в небольшой лабораторной среде, а также пример установки и проверки работы приложения по заявкам.
Вы можете использовать код, представленный в этом руководстве, для создания тестового приложения по заявкам без необходимости загрузки каких-либо дополнительных файлов. Для выполнения всех процедур этого руководства потребуется приблизительно два часа.
Вы можете использовать тестовую лабораторную среду для оценки возможностей технологии AD FS, а также для планирования способа развертывания AD FS в Вашей организации. В этом руководстве Вам предстоит выполнить следующие шаги:
-
Настроить четыре компьютера-участника федерации AD FS (один клиентский компьютер, один веб-сервер с поддержкой AD FS и два сервера федерации) между двумя вымышленными компаниями (A. Datum Corporation и Trey Research).
-
Создать два леса для использования в качестве назначенных хранилищ учетных записей пользователей федерации. Каждый лес будет представлять одну компанию.
-
Использовать AD FS для настройки федеративных доверительных отношений между двумя компаниями.
-
Использовать AD FS для создания, заполнения и сопоставления заявок.
-
Предоставить объединенный доступ пользователям одной компании, позволяющий получить доступ к приложению по заявкам, расположенному в другой компании.
Для успешного выполнения всех процедур данного руководства Вы должны действовать в соответствии со следующими правилами:
-
Выполняйте все шаги в той последовательности, как это описано в данном руководстве.
-
Используйте те IP-адреса, которые указаны в данном руководстве.
-
Используйте те названия компьютеров, пользователей, групп, компаний, заявок и доменов, которые указаны в данном руководстве.
-
Если у Вас что-то не получается при работе в среде с виртуализацией программного обеспечения, попытайтесь использовать четыре отдельных компьютера, подключенных к частной сети.
Важно:
Любые отступления от вышеперечисленных правил могут уменьшить вероятность успешного создания лабораторной среды с первой попытки.
Примечание:
Данное руководство было успешно проверено корпорацией Microsoft в среде Microsoft Virtual Server 2005 R2.
Чего Вы не найдете в этом руководстве
В это руководство не включена следующая информация:
-
Инструкции по установке и настройке приложений на основе маркеров Windows NT, таких как Microsoft Windows® SharePoint® Services или Microsoft Office SharePoint Portal Server 2003, для работы со службами AD FS.
-
Инструкции по настройке Microsoft Office SharePoint Server 2007 в качестве приложения по заявкам для работы со службами AD FS.
Примечание:
Для получения инструкций по настройке Microsoft Office SharePoint Server 2007 в качестве приложения по заявкам обратитесь к статье Настройка проверки подлинности службы единого входа с помощью ADFS (Office SharePoint Server) (EN).
-
Руководства по установке и настройке служб AD FS в рабочей среде.
Для получения информации о развертывании или управлении службами AD FS обратитесь к соответствующим разделам на веб-узле Active Directory Federation Services (EN).
-
Инструкции по установке и настройке Microsoft Certificate Services для работы со службами AD FS.
Для получения информации об установке и настройке служб Microsoft Certificate Services обратитесь к веб-узлу Инфраструктура открытого ключа для Windows Server 2003 (EN).
-
Инструкции по установке и настройке прокси-агента службы федерации.
Примечание:
Сервер федерации может исполнять роль прокси-агента службы федерации. Например, сервер федерации может выполнять проверку подлинности, обнаружение домашней области и завершение сеанса работы клиента.
Требования для успешного выполнения данного руководства
Для успешного выполнения всех шагов этого руководства Вы должны настроить четыре тестовых компьютера под управлением следующих операционных систем:
-
Windows Server 2008 Enterprise или Windows Server 2008 Datacenter на серверах служб федерации
-
Windows Server 2008 Standard, Windows Server 2008 Enterprise или Windows Server 2008 Datacenter на веб-сервере с поддержкой AD FS
-
Microsoft Windows® XP или Windows Vista™ на клиентском компьютере AD FS.
Наверх страницы
Шаг 1. Подготовительные действия
Прежде чем приступить к установке служб федерации Active Directory, Вам нужно настроить четыре компьютера, которые Вы будете использовать для оценки технологии AD FS.
Подготовительные действия состоят из следующих шагов:
Для выполнения всех процедур, описанных в этом разделе, на всех компьютерах используется учетная запись локального администратора. Для создания доменных учетных записей Active Directory выполните вход в систему под учетной записью администратора домена.
Настройка операционных систем и сетевых параметров
Настройте компьютеры, использующиеся в этом руководстве, в соответствии со следующей таблицей.
Важно:
Прежде чем назначить компьютерам статические IP-адреса, рекомендуется выполнить следующие действия:
-
Выполнить активацию ОС Windows XP и Windows Server 2008, пока каждый из Ваших компьютеров имеет доступ к сети Интернет.
-
Убедиться, что на всех компьютерах установлено одинаковое системное время с допустимой разницей в пять минут. Это необходимо для того, чтобы обеспечить действительность временных отпечатков маркеров в любое время.
Имя компьютера
|
Роль клиента/сервера AD FS
|
Операционная система
|
Параметры протокола IPv4
|
Параметры DNS-сервера
|
adfsclient
|
Клиентский компьютер
|
Windows XP с пакетом обновлений Service Pack 2 (SP2) или Windows Vista
|
IP-адрес:
192.168.1.1
Маска подсети:
255.255.255.0 |
Предпочитаемый:
192.168.1.3
Альтернативный:
192.168.1.4
|
adfsweb
|
Веб-сервер
|
Windows Server 2008 Standard или Windows Server 2008 Enterprise
|
IP-адрес:
192.168.1.2
Маска подсети:
255.255.255.0
|
Предпочитаемый:
192.168.1.4
|
adfsaccount
|
Сервер служб федерации и контроллер домена
|
Windows Server 2008 Enterprise
|
IP-адрес:
192.168.1.3
Маска подсети:
255.255.255.0
|
Предпочитаемый:
192.168.1.3
|
adfsresource
|
Сервер служб федерации и контроллер домена
|
Windows Server 2008 Enterprise
|
IP-адрес:
192.168.1.4
Маска подсети:
255.255.255.0
|
Предпочитаемый:
192.168.1.4
|
Примечание:
Убедитесь, что на клиентском компьютере Вы указали как предпочитаемый DNS-сервер, так и альтернативный. Если не будет задан какой-либо из этих параметров, сценарий AD FS не будет работать.
Наверх страницы
Установка и настройка службы каталогов Active Directory
В этот раздел включены следующие процедуры:
Установка службы AD DS
Вы можете использовать мастер добавления ролей для создания двух новых лесов Active Directory на серверах федерации. При выполнении этой процедуры используйте параметры, приведенные в следующей таблице. Для запуска мастера добавления ролей в меню Start раскройте папку Administrative Tools и щелкните значок Server Manager. После этого в правой области щелкните ссылку Add Roles.
Важно:
Прежде чем приступить к установке службы AD DS, настройте IP-адрес компьютера в соответствии с предыдущей таблицей. Это поможет обеспечить надлежащую настройку записей DNS.
Примечание:
Следуя рекомендациям безопасности, не используйте контроллер домена в качестве сервера федерации в рабочей среде.
Имя компьютера
|
Название компании
|
Имя домена Active Directory (новый лес)
|
Конфигурация DNS
|
adfsaccount
|
A. Datum Corporation
|
adatum.com
|
Установите DNS-сервер, когда будет предложено.
|
adfsresource
|
Trey Research
|
treyresearch.net
|
Установите DNS-сервер, когда будет предложено.
|
Наверх страницы
Создание учетных записей пользователей и учетных записей ресурсов
После настройки лесов доменов необходимо создать несколько учетных записей, которые Вы будете использовать при работе с серверами федерации. Используйте параметры, приведенные в следующей таблице для создания тестовых учетных записей в обоих лесах. Используйте следующие параметры для настройки компьютера adfsaccount.
Тип создаваемого объекта
|
Имя объекта
|
Имя пользователя
|
Действия
|
Глобальная группа безопасности
|
TreyClaimAppUsers
|
Не применимо
|
Не применимо
|
Пользователь
|
Alan Shen
|
alansh
Пользователь alansh будет выступать в качестве федеративного пользователя, осуществляющего доступ к приложению по заявкам.
|
Сделайте пользователя alansh участником глобальной группы TreyClaimAppUsers.
|
Наверх страницы
Присоединение тестовых компьютеров к соответствующим доменам
Присоедините компьютеры adfsclient и adfsweb к доменам в соответствии со следующей таблицей.
Примечание:
Для присоединения компьютеров к доменам Вам может потребоваться отключить брандмауэры на соответствующих контроллерах доменов.
Имя компьютера
|
Присоединить к домену
|
adfsclient
|
adatum.com
|
adfsweb
|
treyresearch.net
|
Наверх страницы
Шаг 2. Установка ролей AD FS и настройка сертификатов
После настройки компьютеров и присоединения их к доменам, Вы можете приступить к установке ролей службы AD FS на каждый из серверов. В этот раздел включены следующие процедуры:
Для выполнения всех процедур, описанных в этом разделе, на компьютерах adfsaccount и adfsresource используется учетная запись администратора домена. На компьютере adfsweb используется учетная запись локального администратора.
Установка службы федерации
Выполните следующую процедуру для установки службы федерации, являющейся компонентом AD FS, на компьютерах adfsaccount и adfsresource. После того, как служба федерации установлена на компьютере, он становится сервером федерации.
Во время установки службы федерации Вы создадите новый файл политики доверия, а также самоподписанный SSL-сертификат и сертификат подписи маркера для каждого сервера федерации.
|
Для установки службы федерации выполните следующие действия:
|
|
-
В меню Start раскройте папкуAdministrative Tools и щелкните значок Server Manager.
-
Правой кнопкой мыши щелкните на узле Roles и в контекстном меню выберите команду Add Roles, чтобы запустить мастер Add Roles Wizard.
-
На странице Before You Begin нажмите кнопку Next.
-
На странице Select Server Roles установите флажок Active Directory Federation Services и дважды нажмите кнопку Next.
-
На странице Select Role Services установите флажок Federation Service. Если Вам будет предложено дополнительно установить роль Web Server (IIS) или роль Windows Process Activation Service (WAS), нажмите кнопку Add Required Role Services, а затем нажмите кнопку Next.
-
На странице Choose a Server Authentication Certificate for SSL Encryption установите переключатель в положение Create a self-signed certificate for SSL encryption и нажмите кнопку Next.
-
На странице Choose a Token-Signing Certificate установите переключатель в положение Create a self-signed token-signing certificate и нажмите кнопку Next.
-
На странице Select Trust Policy установите переключатель в положение Create a new trust policy и дважды нажмите кнопку Next.
-
На странице Select Role Services нажмите кнопку Next, приняв значения по умолчанию.
-
Просмотрите информацию на странице Confirm Installation Selections и нажмите кнопу Install.
-
На странице Installation Results убедитесь в том, что все компоненты были установлены корректно, и нажмите кнопку Close.
|
Наверх страницы
Назначение учетной записи «Local System» группе приложений «ADFSAppPool»
Выполните следующую процедуру на сервере ресурсов adfsresource, а также на сервере учетных записей adfsaccount. Этот шаг необходимо выполнить только в данном руководстве, поскольку серверы федерации являются также контроллерами домена.
Примечание:
Следуя рекомендациям безопасности, не используйте контроллер домена в качестве сервера федерации в рабочей среде. Кроме того, не используйте в рабочей среде учетную запись Local System для запуска службы Internet Information Services (IIS).
|
Для назначения учетной записи «Local System» группе приложений «ADFSAppPool» выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли раскройте узел ADFSRESOURCE или ADFSACCOUNT и выберите раздел Application Pools.
-
В центральной панели щелкните правой кнопкой мыши на группе ADFSAppPool и в контекстном меню выберите пункт Set Application Pool Defaults.
-
В разделе Process Model выберите параметр Identity и нажмите кнопку ….
-
В раскрывающемся списке Built-in account выберите учетную запись LocalSystem и дважды нажмите кнопку OK.
|
Наверх страницы
Настройка IIS на использование SSL на серверах федерации
Выполните следующую процедуру на серверах федерации adfsresource и adfsaccount для настройки служб IIS на использование протокола SSL для веб-узла по умолчанию.
|
Для настройки IIS на использование SSL на обоих серверах федерации выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли раскройте узел ADFSACCOUNT или ADFSRESOURCE. После этого раскройте узел Sites и выберите узел Default Web Site.
-
В центральной панели дважды щелкните значок SSL Settings и установите флажок Require SSL.
-
Установите переключатель Client certificates в положение Accept и щелкните ссылкуApply.
|
Наверх страницы
Установка веб-агента AD FS
Выполните следующую процедуру на веб-сервере adfsweb для установки веб-агента приложений по заявкам.
|
Для установки веб-агента AD FS выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Server Manager.
-
Правой кнопкой мыши щелкните на узле Roles и в контекстном меню выберите команду Add Roles, чтобы запустить мастер Add Roles Wizard.
-
На странице Before You Begin нажмите кнопку Next.
-
На странице Select Server Roles установите флажок Active Directory Federation Services и дважды нажмите кнопку Next.
-
На странице Select Role Services установите флажок Claims-aware Agent. Если Вам будет предложено установить дополнительные серверные роли Web Server (IIS) или Windows Process Activation Service, нажмите кнопку Add Required Role Services, чтобы установить их, а затем нажмите кнопку Next.
-
На странице Web Server (IIS) нажмите кнопку Next.
-
На странице Select Role Services установите флажки Client Certificate Mapping Authentication и IIS Management Console в дополнение к уже установленным, и нажмите кнопку Next.
Установка флажка The Client Certificate Mapping Authentication приводит к установке компонентов, необходимых для того, чтобы служба IIS смогла создать самоподписанный сертификат проверки подлинности сервера, использующийся на этом сервере.
-
Просмотрите информацию на странице Confirm Installation Selections и нажмите кнопу Install.
-
На странице Installation Results убедитесь в том, что все компоненты были установлены корректно, и нажмите кнопку Close.
|
Наверх страницы
Создание, экспорт и импорт сертификатов
Самым важным фактором для успешной настройки веб-сервера и серверов федерации является правильное создание и экспорт необходимых сертификатов. Поскольку ранее Вы создали сертификат проверки подлинности для обоих серверов федерации с помощью мастера Add Roles Wizard, Вам осталось лишь создать сертификат проверки подлинности сервера для компьютера adfsweb. В этот раздел включены следующие процедуры:
Примечание:
В рабочем окружении сертификаты выдаются центрами сертификации (ЦС). Для выполнения задач в лабораторной среде данного руководства используются самоподписанные сертификаты.
Создание сертификата проверки подлинности сервера для компьютера «adfsweb»
Выполните следующую процедуру на веб-сервере adfsweb для создания самоподписанного сертификата проверки подлинности сервера.
|
Для создания сертификата проверки подлинности для компьютера «adfsweb» выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли выберите узел ADFSWEB.
-
В центральной панели дважды щелкните значок Server Certificates.
-
В области действий Actions щелкните ссылку Create Self-Signed Certificate.
-
В поле Specify a friendly name for the certificate диалогового окна Create Self-Signed Certificate введите adfsweb и нажмите кнопку OK.
|
Наверх страницы
Экспорт сертификата подписи маркера компьютера «adfsaccount» в файл
Выполните следующую процедуру на сервере федерации учетных записей adfsaccount для экспорта сертификата подписи маркера этого сервера в файл.
|
Для экспорта сертификата подписи маркера компьютера «adfsaccount» в файл выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Правой кнопкой мыши щелкните на узле Federation Service и в контекстном меню выберите пункт Properties.
-
На вкладке General нажмите кнопку View.
-
На вкладке Details нажмите кнопку Copy to File.
-
На странице Welcome to the Certificate Export Wizard нажмите кнопку Next.
-
На странице Export Private Key установите переключатель в положение No, do not export the private key и нажмите кнопку Next.
-
На странице Export File Format установите переключатель в положение DER encoded binary X.509 (.Cer) и нажмите кнопку Next.
-
На странице File to Export введите C:\adfsaccount_ts.cer в поле File Name и нажмите кнопку Next.
Примечание:
Сертификат подписи маркера компьютера adfsaccount будет импортирован на компьютер adfsresource позже, когда мастер Account Partner Wizard предложит указать сертификат на странице Account Partner Verification Certificate (раздел Шаг 4. Настройка серверов федерации). В тот момент Вы будете получать доступ к файлу сертификата, расположенному на компьютере adfsresource, через сетевое окружение.
-
На странице Completing the Certificate Export Wizard нажмите кнопку Finish.
|
Наверх страницы
Экспорт сертификата проверки подлинности сервера «adfsresource» в файл
Для успешного взаимодействия между федеративным сервером ресурсов (компьютер adfsresource) и веб-сервером (компьютер adfsweb) последний должен доверять корневому сертификату федеративного сервера ресурсов.
Примечание:
Веб-сервер должен доверять корневому сертификату сервера федерации, потому что использование списка отзыва сертификатов (Certificate Revocation List, CRL) включено по умолчанию. Это условие может быть снято путем отключения проверки списков отзыва сертификатов, хотя соответствующие процедуры не представлены в данном руководстве. Отключение проверки списка отзыва сертификатов может поставить под угрозу безопасность работы AD FS, поэтому в рабочей среде не рекомендуется отключать эту проверку. Для получения дополнительной информации об отключении проверки списков CRL обратитесь к статье Включение и отключение проверки CRL (EN).
Поскольку в данном руководстве используются самоподписанные сертификаты, то сертификат проверки подлинности сервера является корневым, и поэтому Вы должны установить доверие между серверами путем экспорта сертификата проверки подлинности сервера adfsresource в файл и последующего импорта этого файла на веб-сервер adfsweb. Для экспорта сертификата проверки подлинности выполните на сервере adfsresource следующую процедуру.
|
Для экспорта сертификата проверки подлинности сервера «adfsresource» в файл выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли выберите узел ADFSRESOURCE.
-
В центральной панели дважды щелкните значок Server Certificates.
-
В центральной панели щелкните правой кнопкой мыши на имени сертификата adfsresource.treyresearch.net и в контекстном меню выберите команду Export.
-
В диалоговом окне Export Certificate нажмите кнопку ….
-
В поле File name введите C:\adfsresource и нажмите кнопу Open.
Примечание:
В следующей процедуре сертификат должен быть импортирован на компьютер adfsweb, поэтому убедитесь, что файл сертификата доступен для компьютера adfsweb через сетевое окружение.
-
Задайте пароль для сертификата, подтвердите его и нажмите кнопку OK.
|
Наверх страницы
Импорт сертификата проверки подлинности сервера «adfsresource» на сервер «adfsweb»
Выполните следующую процедуру на веб-сервере adfsweb.
|
Для импорта сертификата проверки подлинности сервера «adfsresource» на сервер «adfsweb» выполните следующие действия:
|
|
-
В меню Start щелкните значок Run, введите mmc и нажмите кнопку OK.
-
В меню File выберите команду Add/Remove Snap-in.
-
В списке Available snap-ins выберите оснастку Certificates, нажмите кнопку Add, установите переключатель в положение Computer account и нажмите кнопку Next.
-
Установите переключатель в положение Local computer: (the computer this console is running on), нажмите кнопку Finish, а затем нажмите кнопку OK.
-
Последовательно раскройте узлы Certificates (Local Computer) и Trusted Root Certification Authorities, правой кнопкой мыши щелкните на папке Certificates и в меню All Tasks выберите команду Import.
-
На странице Welcome to the Certificate Import Wizard мастера импорта сертификатов нажмите кнопку Next.
-
На странице File to Import введите \\adfsresource\c$\adfsresource.pfx в поле File Name и нажмите кнопку Next.
Примечание:
Для получения доступа к файлу adfsresource.pfx Вам может потребоваться подключить сетевой диск. Также Вы можете скопировать этот файл непосредственно с компьютера adfsresource на компьютер adfsweb и указать локальный путь к файлу.
-
На странице Password введите пароль для файла adfsresource.pfx и нажмите кнопку Next.
-
На странице Certificate Store установите переключатель в положение Place all certificates in the following store и нажмите кнопку Next.
-
На странице Completing the Certificate Import Wizard убедитесь, что все параметры заданы правильно, и нажмите кнопку Finish.
|
Наверх страницы
Шаг 3. Настройка веб-сервера
В этот раздел включены процедуры по настройке приложения по заявкам на веб-сервере adfsweb. Для настройки служб Internet Information Services (IIS) и приложения по заявкам Вам необходимо выполнить следующие процедуры:
Все процедуры в этом разделе выполняются на компьютере adfsweb под учетной записью локального администратора.
Настройка служб IIS на веб-сервере
Выполните следующую процедуру на компьютере adfsweb.
|
Для настройки служб IIS на веб-сервере выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли последовательно раскройте узлы ADFSWEB и Sites, и выберите веб-узел Default Web Site.
-
В области действий Actions щелкните ссылку Bindings.
-
В диалоговом окне Site Bindings нажмите кнопку Add.
-
В раскрывающемся списке Type выберите параметр https.
-
В раскрывающемся списке SSL certificate выберите сертификат adfsweb, нажмите кнопку OK, а затем нажмите кнопку Close.
-
В центральной панели дважды щелкните значок SSL Settings и установите флажок Require SSL.
-
Установите переключатель Client certificates в положение Accept и щелкните ссылку Apply.
|
Наверх страницы
Создание и настройка приложения по заявкам
Выполните следующую процедуру, чтобы разместить тестовое приложение по заявкам на веб-сервере adfsweb.
|
Для создания и настройки приложения по заявкам выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Internet Information Services (IIS) Manager.
-
В дереве консоли последовательно раскройте узлы ADFSWEB и Sites, правой кнопкой мыши щелкните на узле Default Web Site и в контекстном меню выберите команду Add Application.
-
В диалоговом окне Add Application введите claimapp в поле Alias.
-
Нажмите кнопку Select, в раскрывающемся списке выберите параметр Classic .NET AppPool и нажмите кнопку OK.
-
Нажмите кнопку … и выберите папку C:\inetpub\wwwroot.
-
Нажмите кнопку Make New Folder введите имя папки claimapp и дважды нажмите кнопку OK.
Примечание:
Не используйте заглавные буквы в имени папки claimapp, так как в этом случае пользователи должны будут также использовать заглавные буквы при вводе адреса веб-узла.
-
Создайте три файла, из которых будет состоять приложение по заявкам, выполнив процедуры, представленные в Приложении А. Создание тестового приложения по заявкам, после чего скопируйте их в папку «C:\inetpub\wwwroot\claimapp».
|
Наверх страницы
Шаг 4. Настройка серверов федерации
После того как Вы установили службы федерации Active Directory и настроили приложение по заявкам на веб-сервере, Вам необходимо настроить службу Federation Service на серверах федерации компаний Trey Research и A. Datum Corporation. Процесс настройки серверов федерации состоит из следующих этапов:
-
Настройка службы Federation Service в компании Trey Research на работу с приложениями по заявкам.
-
Добавление хранилищ учетных записей и заявок о группах для соответствующих служб федерации.
-
Настройка каждой из заявок о группах таким образом, чтобы они были сопоставлены группе Active Directory соответствующего леса.
Настройка серверов федерации включает в себя следующие процедуры:
Все процедуры, представленные в этом разделе, выполняются на компьютерах adfsaccount и adfsresource под учетной записью администратора домена.
Настройка службы Federation Service для компании A. Datum Corporation
В этот раздел включены следующие процедуры:
Настройка политики доверия
Выполните следующую процедуру на компьютере adfsaccount, чтобы настроить политику доверия для службы федерации компании A. Datum Corporation.
|
Для настройки политики доверия компании A. Datum Corporation выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
В дереве консоли раскройте узел Federation Service, правой кнопкой мыши щелкните на узле Trust Policy и в контекстном меню выберите пункт Properties.
-
В поле Federation Service URI на вкладке General введите urn:federation:adatum.
Примечание:
Этот параметр является чувствительным к регистру.
-
Убедитесь, что в поле Federation Service endpoint URL отображается текст https://adfsaccount.adatum.com/adfs/ls/.
-
На вкладке Display Name в поле Display name for this trust policy введите A. Datum, заменив существующий текст, и нажмите кнопку OK.
|
Наверх страницы
Создание заявки о группах для приложения по заявкам
Выполните следующую процедуру, чтобы создать заявку о группах, которая будет использоваться для проверки подлинности леса treyresearch.net.
|
Для создания заявки о группах для приложения по заявкам выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и My Organization, правой кнопкой мыши щелкните папку Organization Claims и в меню New выберите пункт Organization Claim.
-
В диалоговом окне Create a New Organization Claim в поле Claim name введите Trey ClaimApp Claim.
-
Убедитесь, что переключатель установлен в положение Group claim, и нажмите кнопку OK.
|
Наверх страницы
Добавление и настройка хранилища учетных записей AD DS
Выполните следующие процедуры, чтобы добавить хранилище учетных записей AD DS для службы федерации компании A. Datum Corporation.
Добавление хранилища учетных записей AD DS
Выполните следующую процедуру, чтобы добавить хранилище учетных записей AD DS.
|
Для добавления хранилища учетных записей AD DS выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и My Organization, правой кнопкой мыши щелкните папку Account Stores и в меню New выберите пункт Account Store.
-
На странице Welcome to the Add Account Store Wizard нажмите кнопку Next.
-
На странице Account Store Type убедитесь, что переключатель установлен в положение Active Directory Domain Services, и нажмите кнопку Next.
Примечание:
Только одно хранилище AD DS может быть связано со службой федерации. Если параметр Active Directory Domain Services не доступен, то хранилище AD DS уже было создано для этой службы федерации.
-
На странице Enable this Account Store убедитесь, что флажок Enable this account store установлен, и нажмите кнопку Next.
-
На странице Completing the Add Account Store Wizard нажмите кнопку Finish.
|
Наверх страницы
Сопоставление заявки о группах приложения по заявкам глобальной группе Active Directory
Выполните следующую процедуру, чтобы сопоставить заявку о группах Trey ClaimApp Claim глобальной группе Active Directory.
|
Для сопоставления заявки о группах глобальной группе AD DS выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy, My Organization и Account Stores, правой кнопкой мыши щелкните папку Active Directory и в меню New выберите пункт Group Claim Extraction.
-
В диалоговом окне Create a New Group Claim Extraction нажмите кнопку Add, введите имя объекта treyclaimappusers и нажмите кнопку OK.
-
Убедитесь, что в раскрывающемся списке Map to this Organization Claim отображается текст Trey ClaimApp Claim, и нажмите кнопку OK.
|
Наверх страницы
Добавление и настройка партнера по ресурсам
Выполните следующие процедуры, чтобы добавить партнера по ресурсам для службы федерации компании A. Datum Corporation.
Добавление партнера по ресурсам
Выполните следующую процедуру для добавления партнера по ресурсам.
|
Для добавления партнера по ресурсам выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и Partner Organizations, правой кнопкой мыши щелкните папку Resource Partners и в меню New выберите пункт Resource Partner.
-
На странице Welcome to the Add Resource Partner Wizard нажмите кнопку Next.
-
На странице Import Policy File убедитесь, что переключатель установлен в положение No, и нажмите кнопку Next.
-
На странице Resource Partner Details введите Trey Research в поле Display name.
-
В поле Federation Service URI введите urn:federation:treyresearch.
Примечание:
Этот параметр является чувствительным к регистру.
-
В поле Federation Service endpoint URL введите https://adfsresource.treyresearch.net/adfs/ls/ и нажмите кнопку Next.
-
На странице Federation Scenario установите переключатель в положение Federated Web SSO и нажмите кнопку Next.
-
На странице Resource Partner Identity Claims установите флажок UPN Claim и нажмите кнопку Next.
-
На странице Select UPN Suffix установите переключатель в положение Replace all UPN domain suffixes with the following, введите adatum.com и нажмите кнопку Next.
-
На странице Enable this Resource Partner убедитесь, что установлен флажок Enable this resource partner, и нажмите кнопку Next.
-
На странице Completing the Add Resource Partner Wizard нажмите кнопку Finish.
|
Наверх страницы
Создание сопоставления исходящей заявки о группах для приложения по заявкам
Выполните следующую процедуру для создания сопоставления исходящей заявки о группах для тестового приложения по заявкам.
|
Для создания сопоставления исходящей заявки о группах выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy, Partner Organizations и Resource Partners, правой кнопкой мыши щелкните на записи Trey Research и в меню New выберите пункт Outgoing Group Claim Mapping.
-
В диалоговом окне Create a New Outgoing Group Claim Mapping выберите параметр Trey ClaimApp Claim в раскрывающемся списке Organization group claims.
-
В поле Outgoing group claim name введите ClaimAppMapping и нажмите кнопку OK.
Примечание:
Этот параметр является чувствительным к регистру. Значение этого параметра должно в точности совпадать с именем сопоставления входящей заявки о группах, созданным в организации партнера по ресурсам.
|
Наверх страницы
Настройка службы Federation Service для компании Trey Research
В этот раздел включены следующие процедуры:
Настройка политики доверия
Выполните следующую процедуру на компьютере adfsresource, чтобы настроить политику доверия для службы федерации компании Trey Research.
|
Для настройки политики доверия компании Trey Research выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
В дереве консоли раскройте узел Federation Service, правой кнопкой мыши щелкните на узле Trust Policy и в контекстном меню выберите пункт Properties.
-
В поле Federation Service URI на вкладке General введите urn:federation:treyresearch.
Примечание:
Этот параметр является чувствительным к регистру.
-
Убедитесь, что в поле Federation Service endpoint URL отображается текст https://adfsresource.treyresearch.net/adfs/ls/.
-
В поле Display name for this trust policy на вкладке Display Name введите Trey Research, заменив существующий текст, и нажмите кнопку OK.
|
Наверх страницы
Создание заявки о группах для приложения по заявкам
Выполните следующую процедуру, чтобы создать заявку о группах, которая будет использоваться для принятия решений проверки подлинности тестового приложения по заявкам при обращении пользователей леса adatum.com.
|
Для создания заявки о группах для приложения по заявкам выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и My Organization, правой кнопкой мыши щелкните папку Organization Claims и в меню New выберите пункт Organization Claim.
-
В диалоговом окне Create a New Organization Claim в поле Claim name введите Adatum ClaimApp Claim.
-
Убедитесь, что переключатель установлен в положение Group claim, и нажмите кнопку OK.
|
Наверх страницы
Добавление хранилища учетных записей AD DS
Выполните следующую процедуру, чтобы добавить хранилище учетных записей AD DS для службы федерации компании Trey Research.
|
Для добавления хранилища учетных записей AD DS выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и My Organization, правой кнопкой мыши щелкните папку Account Stores и в меню New выберите пункт Account Store.
-
На странице Welcome to the Add Account Store Wizard нажмите кнопку Next.
-
На странице Account Store Type убедитесь, что переключатель установлен в положение Active Directory Domain Services, и нажмите кнопку Next.
-
На странице Enable this Account Store убедитесь, что флажок Enable this account store установлен, и нажмите кнопку Next.
-
На странице Completing the Add Account Store Wizard нажмите кнопку Finish.
|
Наверх страницы
Добавление и настройка приложения по заявкам
Выполните следующие процедуры на компьютере adfsresource, чтобы добавить приложение по заявкам для службы федерации компании Trey Research.
Добавление приложения по заявкам
Выполните следующую процедуру, чтобы добавить приложения по заявкам для службы федерации.
|
Для добавления приложения по заявкам выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и My Organization, правой кнопкой мыши щелкните папку Applications и в меню New выберите пункт Application.
-
На странице Welcome to the Add Application Wizard нажмите кнопку Next.
-
На странице Application Type установите переключатель в положение Claims-aware application и нажмите кнопку Next.
-
На странице Application Details введите Claims-aware Application в поле Application display name.
-
В поле Application URL введите https://adfsweb.treyresearch.net/claimapp/ и нажмите кнопку Next.
-
На странице Accepted Identity Claims установите флажок User principal name (UPN) и нажмите кнопку Next.
-
На странице Enable this Application убедитесь, что флажок Enable this application установлен, и нажмите кнопку Next.
-
На странице Completing the Add Application Wizard нажмите кнопку Finish.
|
Наверх страницы
Включение заявки о группах «Adatum ClaimApp Claim»
Теперь, когда служба федерации может распознать добавленное приложение, выполните следующую процедуру, чтобы включить для этого приложения заявку о группах Adatum ClaimApp Claim.
|
Для включения заявки о группах «Adatum ClaimApp Claim» выполните следующие действия:
|
|
-
В папке Applications выберите значок Claims-aware Application.
-
Щелкните правой кнопкой мыши значок Adatum ClaimApp Claim и в контекстном меню выберите команду Enable.
|
Наверх страницы
Добавление и настройка партнера по учетным записям
Выполните следующие процедуры на компьютере adfsresource, чтобы добавить компанию A. Datum Corporation в качестве партнера по учетным записям для службы федерации и компании Trey Research.
Добавление партнера по учетным записям
Добавление партнера по учетным записям определяет отношения между компаниями A. Datum Corporation и Trey Research, устанавливаемые путем управляющего обмена открытым ключом. Этот ключ устанавливает отношения доверия между двумя организациями таким образом, что компания Trey Research может проверять маркеры, посылаемые компанией A. Datum Corporation. Выполните следующую процедуру, чтобы добавить партнера по учетным записям для службы федерации.
|
Для добавления партнера по учетным записям выполните следующие действия:
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy и Partner Organizations, правой кнопкой мыши щелкните папку Account Partners и в меню New выберите пункт Account Partner.
-
На странице Welcome to the Add Account Partner Wizard нажмите кнопку Next.
-
На странице Import Policy File убедитесь, что переключатель установлен в положение No, и нажмите кнопку Next.
-
На странице Account Partner Details введите A. DatumCorporation в поле Display name.
-
В поле Federation Service URI введите urn:federation:adatum.
Примечание:
Этот параметр является чувствительным к регистру.
-
В поле Federation Service endpoint URL введите https://adfsaccount.adatum.com/adfs/ls/ и нажмите кнопку Next.
-
На странице Account Partner Verification Certificate выполните следующие действия:
-
Нажмите кнопку Browse.
-
В поле File name введите \\adfsaccount\c$.
-
Нажмите кнопку Open.
-
Дважды щелкните файл adfsaccount_ts.cer и нажмите кнопку Next.
Примечание:
Для получения доступа к файлу adfsaccount_ts.cer Вам может понадобиться подключить сетевой диск. Сертификат для проверки партнера по учетным записям является сертификатом подписи маркера, который был экспортирован с компьютера adfsaccount в разделе Шаг 2. Установка ролей AD FS и настройка сертификатов.
-
На странице Federation Scenario установите переключатель в положение Federated Web SSO и нажмите кнопку Next.
-
На странице Account Partner Identity Claims установите флажок UPN Claim и нажмите кнопку Next.
-
На странице Accepted UPN Suffixes введите суффикс adatum.com в поле Add a new suffix, нажмите кнопку Add и нажмите кнопку Next.
-
На странице Enable this Account Partner убедитесь, что флажок Enable this account partner установлен, и нажмите кнопку Next.
-
На странице Completing the Add Account Partner Wizard нажмите кнопку Finish.
|
Наверх страницы
Создание сопоставления входящей заявки о группах для приложения по заявкам
Сопоставления входящих заявок используются для преобразования заявок о группах, посылаемых партнером по учетным записям, в заявки, которые могут использоваться партнером по ресурсам для принятия решений об авторизации. Выполните следующую процедуру, чтобы создать сопоставление входящей заявки о группах для тестового приложения по заявкам.
|
Для создания сопоставления входящей заявки о группах выполните следующие действия
|
|
-
В меню Start раскройте папку Administrative Tools и щелкните значок Active Directory Federation Services.
-
Последовательно раскройте узлы Federation Service, Trust Policy, Partner Organizations и Account Partners, правой кнопкой мыши щелкните на записи A. Datum Corporation и в меню New выберите пункт Incoming Group Claim Mapping.
-
В диалоговом окне Create a New Incoming Group Claim Mapping введите ClaimAppMapping в поле Incoming group claim name.
Примечание:
Этот параметр является чувствительным к регистру. Значение этого параметра должно в точности совпадать с именем сопоставления исходящей заявки о группах, созданным в организации партнера по учетным записям.
-
Выберите параметр Adatum ClaimApp Claim в раскрывающемся списке Organization group claim и нажмите кнопку OK.
|
Наверх страницы
Шаг 5. Доступ к тестовому приложению с клиентского компьютера
В этот раздел включены следующие процедуры:
Для выполнения процедур, представленных в этом разделе, нет необходимости использовать на клиентском компьютере административную учетную запись. Другими словами, если Вы вошли на клиентский компьютер под учетной записью пользователя Alan Shen (alansh), Вы можете получить доступ к приложению по заявкам, не добавляя эту учетную запись в группу локальных администраторов (например, в группу Опытные пользователи или Администраторы) на компьютере adfsclient.
Добавление сервера федерации adfsaccount в зону доверенных узлов веб-обозревателя
Выполните следующую процедуру, чтобы вручную добавить сервер федерации adfsaccount в зону доверенных узлов обозревателя Internet Explorer на компьютере пользователя Alan Shen.
|
Для добавления сервера федерации «adfsaccount» в зону доверенных узлов веб-обозревателя выполните следующие действия:
|
|
-
Войдите на клиентский компьютер adfsclient под учетной записью alansh.
-
Запустите веб-обозреватель Internet Explorer.
-
В меню Сервис выберите пункт Свойства обозревателя.
-
На вкладке Безопасность выберите зону Местная интрасеть и нажмите кнопку Узлы.
-
Нажмите кнопку Дополнительно.
-
В поле Добавить в зону следующий узел введите https://adfsaccount.adatum.com и нажмите кнопку Добавить.
-
Нажмите кнопку Закрыть и дважды нажмите кнопку OK.
|
Наверх страницы
Доступ к приложению по заявкам с клиентского компьютера под управлением ОС Windows XP
Если на компьютере adfsclient установлена операционная система Windows XP, выполните следующую процедуру для получения доступа к тестовому приложению по заявкам с клиентского компьютера, которому разрешен запуск этого приложения.
|
Для доступа к приложению по заявкам с клиентского компьютера под управлением Windows XP выполните следующие действия:
|
|
-
Войдите на клиентский компьютер adfsclient под учетной записью alansh.
-
Запустите веб-обозреватель и перейдите по адресу https://adfsweb.treyresearch.net/claimapp/.
Примечание:
Вы получите два предупреждения системы безопасности с информацией о сертификатах. Вы можете установить каждый из сертификатов, нажав кнопку Просмотр сертификата, а затем кнопку Установить сертификат в диалоговом окне Предупреждение системы безопасности, или же каждый раз нажимая кнопку Да в ответ на запрос системы. Каждое из этих предупреждений содержит сообщение «Сертификат выдан организацией, не входящей в состав доверенных». Данное поведение системы является нормальным, поскольку в этом руководстве используются самоподписанные сертификаты.
-
Когда Вам будет предложено указать домашнюю область, щелкните A. Datum Corporation и нажмите кнопку Отправить.
Примечание:
Вы получите дополнительное приглашение для указания сертификата.
-
На этом этапе в окне веб-обозревателя будет отображено приложение SSO Sample Application. Вы сможете увидеть, какие заявки были отправлены на веб-сервер, в разделе SingleSignOnIdentity.SecurityPropertyCollection тестового приложения.
Примечание:
Если по какой-либо причине у Вас возникнут проблемы с доступом к приложению по заявкам, попробуйте выполнить команду iisreset или перезагрузить компьютер adfsweb, после чего попытайтесь получить доступ к приложению еще раз.
|
Наверх страницы
Доступ к приложению по заявкам с клиентского компьютера под управлением ОС Windows Vista
Если на компьютере adfsclient установлена операционная система Windows Vista, выполните следующую процедуру для получения доступа к тестовому приложению по заявкам с клиентского компьютера, которому разрешен запуск этого приложения.
|
Для доступа к приложению по заявкам с клиентского компьютера под управлением Windows Vista выполните следующие действия:
|
|
-
Войдите на клиентский компьютер adfsclient под учетной записью alansh.
-
Запустите веб-обозреватель и установите необходимые сертификаты на клиентский компьютер, выполнив следующие шаги:
-
Перейдите по адресу https://adfsaccount.adatum.com/.
Вы попадете на страницу Ошибка сертификата: переходы блокированы, содержащую сообщение о том, что сертификат не был выпущен доверенным центром сертификации. Данное поведение системы является нормальным, если при развертывании служб AD FS используются самоподписанные сертификаты.
-
Щелкните ссылку Продолжить открытие этого веб-узла (не рекомендуется).
-
В адресной строке обозревателя нажмите кнопку Ошибка сертификата, а затем щелкните ссылку Просмотр сертификатов.
-
В диалоговом окне Сертификат нажмите кнопку Установить сертификат.
-
На странице приветствия мастера импорта сертификатов нажмите кнопку Далее.
-
На странице Хранилище сертификатов установите переключатель в положение Поместить все сертификаты в следующее хранилище и нажмите кнопку Обзор.
-
В диалоговом окне Выбор хранилища сертификатов выберите хранилище Доверенные корневые центры сертификации, нажмите кнопку OK, а затем нажмите кнопку Далее.
-
На странице Завершение мастера импорта сертификатов нажмите кнопку Готово.
-
В диалоговом окне Предупреждение о безопасности нажмите кнопку Да.
-
Дважды нажмите кнопку OK.
-
Повторите шаги 1-10 для веб-узлов https://adfsresource.treyresearch.net и https://adfsweb.treyresearch.net, чтобы установить все три сертификата в хранилище доверенных корневых центров сертификации.
-
Когда Вам будет предложено указать домашнюю область, щелкните A. Datum Corporation и нажмите кнопку Отправить.
-
На этом этапе в окне веб-обозревателя будет отображено приложение SSO Sample Application. Вы сможете увидеть, какие заявки были отправлены на веб-сервер, в разделе SingleSignOnIdentity.SecurityPropertyCollection тестового приложения
Примечание:
Если по какой-либо причине у Вас возникнут проблемы с доступом к приложению по заявкам, попробуйте выполнить команду iisreset или перезагрузить компьютер adfsweb, после чего попытайтесь получить доступ к приложению еще раз.
|
Наверх страницы
Приложение А. Создание тестового приложения по заявкам
Вы можете использовать приложение по заявкам, представленное в этом приложении, для проверки того, какие заявки содержатся в маркерах безопасности AD FS, отсылаемых службой федерации. В этом приложении содержатся инструкции по настройке тестового приложения по заявкам, работающего на Вашем веб-сервере. Используя это приложение и инструкции, представленные в разделе Шаг 3. Настройка веб-сервера, Вы можете подготовить приложение для проверки на клиентском компьютере и завершить процесс настройки веб-сервера.
Тестовое приложение по заявкам состоит из следующих трех файлов:
-
Default.aspx
-
Web.config
-
Default.aspx.cs
Для того чтобы тестовое приложение работало правильно, Вы должны по очереди выполнить следующие процедуры для создания необходимых файлов, после чего поместить эти файлы в папку «C:\inetpub\wwwroot\claimapp» на компьютере adfsweb.
Создание файла Default.aspx
Выполните следующую процедуру, чтобы создать файл Default.aspx.
|
Для создания файла «Default.aspx» выполните следующие действия:
|
|
-
Запустите программу Блокнот.
-
Скопируйте и вставьте следующий код в новый файл:
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<%@ OutputCache Location="None" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head>
<meta http-equiv="Content-Language" content="en-us">
<meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
<title>Claims-aware Sample Application</title>
<style>
<!--
.pagetitle { font-family: Verdana; font-size: 18pt; font-weight: bold;}
.propertyTable td {>
.propertyTable th {font-weight: bold; background-color: #cccccc ; text-align: left }
.propertyTable {}
td.l{>
tr.s{ background-color: #eeeeee }
.banner {>
.propertyHead {font-size: 12pt; font-family: Arial; font-weight: bold;>
.abbrev { color: #0066FF; font-style: italic }
-->
</style>
</head>
<body>
<form ID="Form1" runat=server>
<div
<div Sample</div>
[ <asp:HyperLink ID=SignOutUrl runat=server>Sign Out</asp:HyperLink> | <a href="<%=Context.Request.Url.GetLeftPart(UriPartial.Path)%>">Refresh without viewstate data</a>]
</div>
<div Information</div>
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table runat=server ID=PageTable CssClass=propertyTable>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table CssClass="propertyTable" ID=IdentityTable runat=server>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table CssClass="propertyTable" ID=BaseIdentityTable runat=server>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table CssClass="propertyTable" ID=SSOIdentityTable runat=server>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Name</asp:TableHeaderCell>
<asp:TableHeaderCell>Value</asp:TableHeaderCell>
<asp:TableHeaderCell>Type</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table CssClass="propertyTable" ID=SecurityPropertyTable runat=server>
<asp:TableHeaderRow>
<asp:TableHeaderCell>Uri</asp:TableHeaderCell>
<asp:TableHeaderCell>Claim Type</asp:TableHeaderCell>
<asp:TableHeaderCell>Claim Value</asp:TableHeaderCell>
</asp:TableHeaderRow>
</asp:Table>
</div>
<div
<div style="padding-left: 10px; padding-top: 10px">
<asp:Table CssClass="propertyTable" ID=RolesTable runat=server>
</asp:Table>
<div style="padding-top: 10px">
<table>
<tr><td>Roles to check (semicolon separated):</td></tr>
<tr><td><asp:TextBox ID=Roles Columns=55 runat=server/></td><td align="right><asp:Button" UseSubmitBehavior=true ID=GetRoles runat=server Text="Check Roles" OnClick="GoGetRoles"/></td></tr>
</table>
</div>
</div>
</form>
</body>
</html>
-
Сохраните файл под именем Default.aspx в папке «C:\inetpub\wwwroot\claimapp».
|
Наверх страницы
Создание файла Web.config
Выполните следующую процедуру, чтобы создать файл Web.config.
|
Для создания файла «Web.config» выполните следующие действия:
|
|
-
Запустите программу Блокнот.
-
Скопируйте и вставьте следующий код в новый файл:
Copy and paste the following code into a new Notepad file:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<sectionGroup name=""system.web">
<section name=""websso"
type="System.Web.Security.SingleSignOn.WebSsoConfigurationHandler, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</sectionGroup>
</configSections>
<system.web>
<sessionState mode="Off" />
<compilation defaultLanguage="c#" debug="true">
<assemblies>
<add assembly="System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"/>
<add assembly="System.Web.Security.SingleSignOn.ClaimTransforms, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"/>
</assemblies>
</compilation>
<customErrors mode="Off"/>
<authentication mode="None" />
<httpModules>
<add
name="Identity Federation Services Application Authentication Module"
type="System.Web.Security.SingleSignOn.WebSsoAuthenticationModule, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null" />
</httpModules>
<websso>
<authenticationrequired />
<eventloglevel>55</eventloglevel>
<auditsuccess>2</auditsuccess>
<urls>
<returnurl>https://adfsweb.treyresearch.net/claimapp/</returnurl>
</urls>
<cookies writecookies="true">
<path>/claimapp</path>
<lifetime>240</lifetime>
</cookies>
<fs>https://adfsresource.treyresearch.net/adfs/fs/federationserverservice.asmx</fs>
</websso>
</system.web>
<system.diagnostics>
<switches>
<add name=""WebSsoDebugLevel"" value="0" /> <!-- Change to 255 to enable full debug logging -->
</switches>
<trace autoflush="true" indentsize="3">
<listeners>
<add name=""LSLogListener"" type="System.Web.Security.SingleSignOn.BoundedSizeLogFileTraceListener, System.Web.Security.SingleSignOn, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35, Custom=null"
initializeData="c:\logdir\claimapp.log" />
</listeners>
</trace>
</system.diagnostics>
</configuration>
-
Сохраните файл под именем Web.config в папке «C:\inetpub\wwwroot\claimapp».
|
Наверх страницы
Создание файла Default.aspx.cs
Выполните следующую процедуру, чтобы создать файл Default.aspx.cs.
|
Для создания файла «Default.aspx.cs» выполните следующие действия:
|
|
-
Запустите программу Блокнот.
-
Скопируйте и вставьте следующий код в новый файл:
using System;
using System.Data;
using System.Collections.Generic;
using System.Configuration;
using System.Reflection;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;
using System.Security;
using System.Security.Principal;
using System.Web.Security.SingleSignOn;
using System.Web.Security.SingleSignOn.Authorization;
public partial class _Default : System.Web.UI.Page
{
const string NullValue = "<span title=\"Null Reference, or not applicable\"><b>null</b></span>";
static Dictionary<string, string> s_abbreviationMap;
static _Default()
{
s_abbreviationMap = new Dictionary<string, string>();
//
// Add any abbreviations here. Make sure that prefixes of
// replacements occur *after* the longer replacement key.
//
s_abbreviationMap.Add("System.Web.Security.SingleSignOn.Authorization", "SSO.Auth");
s_abbreviationMap.Add("System.Web.Security.SingleSignOn", "SSO");
s_abbreviationMap.Add("System", "S");
}
protected void Page_Load(object sender, EventArgs e)
{
SingleSignOnIdentity ssoId = User.Identity as SingleSignOnIdentity;
//
// Get some property tables initialized.
//
PagePropertyLoad();
IdentityLoad();
BaseIdentityLoad();
SSOIdentityLoad(ssoId);
SecurityPropertyTableLoad(ssoId);
//
// Filling in the roles table
// requires a peek at the viewstate
// since we have a text box driving this.
//
if (!IsPostBack)
{
UpdateRolesTable(new string[] { });
}
else
{
GoGetRoles(null, null);
}
//
// Get the right links for SSO
//
if (ssoId == null)
{
SignOutUrl.Text = "Single Sign On isn’t installed...";
SignOutUrl.Enabled = false;
}
else
{
if (ssoId.IsAuthenticated == false)
{
SignOutUrl.Text = "Sign In (you aren’t authenticated)";
SignOutUrl.NavigateUrl = ssoId.SignInUrl;
}
else
SignOutUrl.NavigateUrl = ssoId.SignOutUrl;
}
}
void SecurityPropertyTableLoad(SingleSignOnIdentity ssoId)
{
Table t = SecurityPropertyTable;
if (ssoId == null)
{
AddNullValueRow(t);
return;
}
//
// Go through each of the security properties provided.
//
bool alternating = false;
foreach (SecurityProperty securityProperty in ssoId.SecurityPropertyCollection)
{
t.Rows.Add(CreateRow(securityProperty.Uri, securityProperty.Name, securityProperty.Value, alternating));
alternating = !alternating;
}
}
void UpdateRolesTable(string[] roles)
{
Table t = RolesTable;
t.Rows.Clear();
bool alternating = false;
foreach (string s in roles)
{
string role = s.Trim();
t.Rows.Add(CreatePropertyRow(role, User.IsInRole(role), alternating));
alternating = !alternating;
}
}
void IdentityLoad()
{
Table propertyTable = IdentityTable;
if (User.Identity == null)
{
AddNullValueRow(propertyTable);
}
else
{
propertyTable.Rows.Add(CreatePropertyRow("Type name", User.Identity.GetType().FullName));
}
}
void SSOIdentityLoad(SingleSignOnIdentity ssoId)
{
Table propertyTable = SSOIdentityTable;
if (ssoId != null)
{
PropertyInfo[] props = ssoId.GetType().GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
AddPropertyRows(propertyTable, ssoId, props);
}
else
{
AddNullValueRow(propertyTable);
}
}
void PagePropertyLoad()
{
Table propertyTable = PageTable;
string leftSidePath = Request.Url.GetLeftPart(UriPartial.Path);
propertyTable.Rows.Add(CreatePropertyRow("Simplified Path", leftSidePath));
}
void BaseIdentityLoad()
{
Table propertyTable = BaseIdentityTable;
IIdentity identity = User.Identity;
if (identity != null)
{
PropertyInfo[] props = typeof(IIdentity).GetProperties(BindingFlags.Instance | BindingFlags.Public | BindingFlags.DeclaredOnly);
AddPropertyRows(propertyTable, identity, props);
}
else
{
AddNullValueRow(propertyTable);
}
}
void AddNullValueRow(Table table)
{
TableCell cell = new TableCell();
cell.Text = NullValue;
TableRow row = new TableRow();
row.CssClass = "s";
row.Cells.Add(cell);
table.Rows.Clear();
table.Rows.Add(row);
}
void AddPropertyRows(Table propertyTable, object obj, PropertyInfo[] props)
{
bool alternating = false;
foreach (PropertyInfo p in props)
{
string name = p.Name;
object val = p.GetValue(obj, null);
propertyTable.Rows.Add(CreatePropertyRow(name, val, alternating));
alternating = !alternating;
}
}
TableRow CreatePropertyRow(string propertyName, object propertyValue)
{
return CreatePropertyRow(propertyName, propertyValue, false);
}
TableRow CreatePropertyRow(string propertyName, object value, bool alternating)
{
if (value == null)
return CreateRow(propertyName, null, null, alternating);
else
return CreateRow(propertyName, value.ToString(), value.GetType().FullName , alternating);
}
TableRow CreateRow(string s1, string s2, string s3, bool alternating)
{
TableCell first = new TableCell();
first.CssClass = "l";
first.Text = Abbreviate(s1);
TableCell second = new TableCell();
second.Text = Abbreviate(s2);
TableCell third = new TableCell();
third.Text = Abbreviate(s3);
TableRow row = new TableRow();
if (alternating)
row.CssClass = "s";
row.Cells.Add(first);
row.Cells.Add(second);
row.Cells.Add(third);
return row;
}
private string Abbreviate(string s)
{
if (s == null)
return NullValue;
string retVal = s;
foreach (KeyValuePair<string, string> pair in s_abbreviationMap)
{
//
// We only get one replacement per abbreviation call.
// First one wins.
//
if (retVal.IndexOf(pair.Key) != -1)
{
string replacedValue = string.Format("<span title=\"{0}\">{1}</span>", pair.Key, pair.Value);
retVal = retVal.Replace(pair.Key, replacedValue);
break;
}
}
return retVal;
}
//
// ASP.NET server side callback
//
protected void GoGetRoles(object sender, EventArgs ea)
{
string[] roles = Roles.Text.Split(';');
UpdateRolesTable(roles);
}
}
-
Сохраните файл под именем Default.aspx.cs в папке «C:\inetpub\wwwroot\claimapp».
|
Наверх страницы
Обсуждение статьи на форуме