Практическое руководство. Создание службы ASP.NET с поддержкой первых утверждений с помощью ACS

Обновлено: 19 июня 2015 г.

Область применения: Azure

Применяется к

  • Microsoft Azure Active Directory Access Control (также называется Access Control Service или ACS)

Обзор

Примечание

Эта статья связана с устаревшей технологией. Сведения о создании веб-служб XML и клиентов веб-служб XML см. в статье https://go.microsoft.com/fwlink/?LinkID=220304.

В этом разделе описывается интеграция простой веб-службы ASP.NET с ACS. Интеграция веб-службы с ACS позволяет учитывать функции проверки подлинности и авторизации из кода. ACS предоставляет механизм проверки подлинности и авторизации клиентов в веб-службе. Дополнительные сведения см. в разделе "Веб-службы и службы acS"

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

Для выполнения действий, описанных в этой статье, необходимо скачать пример веб-службы ASP.NET. Дополнительные сведения см. в примере кода: ASP.NET веб-служба.

Действия для интеграции службы ACS с веб-службой ASP.NET

Важно!

Прежде чем выполнять следующие действия, убедитесь, что система соответствует всем требованиям .NET платформы и платформы, которые перечислены в предварительных требованиях ACS.

Чтобы интегрировать ACS с этим примером ASP.NET веб-службы, выполните следующие действия.

  • Шаг 1. Создание пространства имен службы Access Control

  • Шаг 2. Запуск портала управления ACS

  • Шаг 3. Добавление приложения проверяющей стороны

  • Шаг 4. Создание правил

  • Шаг 5. Настройка удостоверения службы

  • Шаг 6. Настройка доверия между службой ACS и веб-службой ASP.NET

  • Шаг 7. Проверка интеграции между службой ACS и веб-службой ASP.NET

Шаг 1. Создание пространства имен службы Access Control

Подробные инструкции см. в статье "Практическое руководство. Создание пространства имен контроль доступа".

Шаг 2. Запуск портала управления ACS

Портал управления ACS позволяет настроить пространство имен контроль доступа путем добавления поставщиков удостоверений, настройки приложений проверяющей стороны, определения правил и групп правил и установки учетных данных, которым доверяет приложение проверяющей стороны.

Запуск портала управления ACS

  1. Перейдите на портал управления Microsoft Azure (https://manage.WindowsAzure.com), войдите в систему и щелкните Active Directory. (Совет по устранению неполадок: элемент Active Directory отсутствует или недоступен)

  2. Для выполнения управления пространством имен Access Control выберите пространство имен и щелкните Управление. (Или щелкните Пространства имен Access Control, выберите пространство имен, а затем щелкните Управление.)

Шаг 3. Добавление приложения проверяющей стороны

В этом разделе описывается, как добавить приложение проверяющей стороны. Дополнительные сведения о приложениях проверяющей стороны см. в разделе "Приложения проверяющей стороны".

Настройка приложения проверяющей стороны

  1. На портале управления ACS щелкните "Приложения проверяющей стороны" в дереве слева или щелкните ссылку "Приложения проверяющей стороны" в разделе начало работы.

  2. На странице Приложения проверяющей стороны нажмите кнопку Добавить.

  3. На странице Добавление приложения проверяющей стороны выполните следующие действия.

    • В поле Имя введите имя приложения проверяющей стороны. Для этого упражнения введите ASPNET Simple Service.

    • Для параметра Режим выберите Ввести параметры вручную.

    • В области введите универсальный код ресурса (URI), к которому применяется маркер безопасности, выданный ACS. В этом упражнении введите https://localhost:8000/Service.

    • В поле "Возвращаемый URL-адрес" введите URL-адрес, в который ACS возвращается маркер безопасности. В этом упражнении введите https://localhost:8000/Service.

    • В поле "URL-адрес ошибки (необязательно)" введите URL-адрес, на который служба ACS может публиковаться при возникновении ошибки во время входа. Для этого упражнения оставьте это поле пустым.

    • В формате токена выберите формат маркера для acS, который будет использоваться при выдаче маркеров безопасности этому приложению проверяющей стороны. Для этого упражнения выберите SWT. Дополнительные сведения о маркерах и форматах маркеров см. в разделе "Форматы маркеров", поддерживаемые в ACS и "Формат токена" в приложениях проверяющей стороны.

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

    • В разделе Поставщики удостоверений можно выбрать поставщики удостоверений, которые будут использоваться для этого приложения.

      Однако в этом упражнении поставщики удостоверений не используются, клиент получает доступ к веб-службе с удостоверением службы, поэтому обязательно снимите флажок рядом с Windows Live ID.

      Дополнительные сведения об удостоверениях служб см. в разделе " Удостоверения служб".

    • В разделе Группы правил выберите группы правил, которые приложение проверяющей стороны будет использовать при обработке утверждений. Для этого упражнения примите параметр Создать новую группу правил, выбранный по умолчанию. Дополнительные сведения о группах правил см. в разделе "Группы правил" и "Правила".

    • В разделе Параметры подписи токенов в области Ключ подписи токена нажмите кнопку Создать, чтобы сформировать 256-разрядный симметричный ключ для проверяющей стороны.

  4. Выберите команду Сохранить.

Шаг 4. Создание правил

Правила определяют, как утверждения передаются от поставщиков удостоверений или ACS (если ACS является издателем утверждений) приложению проверяющей стороны. Дополнительные сведения о правилах и группах правил см. в разделе "Группы правил" и "Правила".

Создание правил

  1. На домашней странице портала управления ACS щелкните "Группы правил" в дереве слева или щелкните ссылку "Группы правил" в разделе начало работы.

  2. На странице Группы правил щелкните Группа правил по умолчанию для ASPNET Simple Service (как вы помните, мы назвали приложение проверяющей стороны ASPNET Simple Service).

  3. На странице Изменение группы правил нажмите кнопку Добавить.

  4. На странице Добавление правила области выполните следующие действия.

    • В разделе Если в области Издатель утверждений выберите Access Control Service.

    • В разделе Если в поле Введите тип утверждения примите параметр по умолчанию (Любой).

    • В разделе Если в поле Введите значение утверждения примите параметр по умолчанию (Любой).

    • В разделе "Затем" в разделе "Тип утверждения вывода" выберите "Ввод типа", а затем введите действие, так как это тип утверждения, указанный в коде примера веб-службы ASP.NET, который вы используете в этом упражненииrequiredClaimType = “action”. Эту строку можно найти в примере кода в файле Default.aspx.cs в разделе acs\WebServices\ASPNETSimpleService\Service.

    • В разделе "Затем" в разделе "Значение утверждения вывода" выберите "Введите значение", а затем введите обратное, так как это тип утверждения, указанный в коде примера веб-службы ASP.NET, который вы используете в этом упражненииrequiredClaimValue = “reverse”. Эту строку можно найти в примере кода в файле Default.aspx.cs в разделе acs\WebServices\ASPNETSimpleService\Service.

    • Выберите команду Сохранить.

  5. На странице Изменение группы правил нажмите кнопку Сохранить.

Шаг 5. Настройка удостоверения службы

В упражнении, описанном в этом разделе, клиент запрашивает простой веб-токен ACS (SWT) из ACS с именем пользователя и паролем, зарегистрированным и управляемым ACS, другими словами, удостоверением службы ACS. В этом разделе описывается, как настроить удостоверение службы ACS или настроить учетные данные, размещенные службой ACS, которые клиент может использовать для запроса маркера из ACS. Дополнительные сведения см. в разделе "Удостоверения службы". В этом упражнении задайте для имени удостоверения службы значение acssample (клиент службы ASP.NET использует это значение в качестве имени пользователя при запросе маркера из ACS) и пароль для pass@word1.

Настройка удостоверения службы

  1. На домашней странице портала управления ACS щелкните "Удостоверения службы " в дереве слева.

  2. На странице Удостоверения службы нажмите кнопку Добавить.

  3. На странице Добавление удостоверения службы выполните следующие действия, а затем нажмите Сохранить:

    1. В поле Имя введите acssample.

    2. В поле Тип выберите Пароль.

    3. В поле Пароль введите pass@word1.

    4. Оставьте значения по умолчанию в полях Дата вступления в силу и Срок действия.

  4. На странице Изменение удостоверения службы нажмите кнопку Сохранить.

Шаг 6. Настройка доверия между службой ACS и веб-службой ASP.NET

В этом разделе описывается, как интегрировать ACS с примером службы ASP.NET. Дополнительные сведения см. в примере кода: ASP.NET веб-служба.

Настройка доверия между службой ACS и веб-службой ASP.NET

  1. Найдите файл ASPNETSimpleService.sln среди скачанных файлов примера и откройте его в Visual Studio® 2010.

  2. В обозревателе решений в разделе Решение "ASPNETSimpleService" дважды щелкните файл web.config.

  3. В web.configвведите имя пространства имен контроль доступа и ключ подписи маркера, настроенный в ACS на предыдущих шагах выше. Чтобы просмотреть ключ подписи маркера, щелкните "Сертификаты и ключи " на портале управления ACS.

    В следующем фрагменте кода показаны элементы файла web.config, которые необходимо обновить.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="IssuerSigningKey" value="...enter your signing key..."/>
      </appSettings>
    
  4. Сохраните обновленный файл web.config.

  5. В обозревателе решений в разделе Решение "ASPNETSimpleService" дважды щелкните файл app.config.

  6. В файлеapp.config введите имя пространства имен контроль доступа и имя пользователя и пароль удостоверения службы, настроенного в ACS на предыдущих шагах. Чтобы просмотреть имя пользователя и пароль, щелкните "Удостоверения службы " на портале управления ACS.

    В следующем фрагменте кода показаны элементы файла app.config, которые необходимо изменить.

    <appSettings>
        <add key="AccessControlHostName" value="accesscontrol.windows.net"/>
        <add key="AccessControlNamespace" value="...enter your Access Control namespace name..."/>
        <add key="WrapPassword" value="...update to your password..."/>
        <add key="WrapUsername" value="...update to your username..."/>
        <add key="ServiceAddress" value="https://localhost:8000/Service/Default.aspx" />
      </appSettings>
    
  7. Сохраните обновленный файл app.config.

Шаг 7. Проверка интеграции между службой ACS и веб-службой ASP.NET

В этом разделе описывается, как проверить интеграцию между веб-службой ASP.NET и ACS.

Проверка интеграции между ACS и веб-службой ASP.NET

  1. Чтобы запустить службу ASP.NET, нажмите клавишу F5 в Visual Studio 2010.

  2. Чтобы запустить клиент веб-службы ASP.NET, щелкните правой кнопкой Клиент в обозревателе решений, выберите Отладка и щелкните Запустить новый экземпляр.

    Откроется окно командной строки со следующим сообщением: введите строку для обратного изменения, а затем нажмите клавишу <ВВОД>.

  3. Введите любую строку, например привет, мир!, и нажмите ВВОД.

    Если входные данные были hello world!, вы увидите следующий ответ в консольного приложения: !dlrow olleh.

См. также:

Основные понятия

Практические советы по работе с ACS