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

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

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

Важно!

Пространства имен ACS могут перенести конфигурации поставщика удостоверений Google из OpenID 2.0 в OpenID Connect. Миграция должна быть завершена до 1 июня 2015 г. Подробные инструкции см. в статье о переносе пространств имен ACS в Google OpenID Подключение. До начала миграции этот учебник можно изучать, используя другой поставщик удостоверений, например Facebook.

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

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

Обзор

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

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

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

Важно!

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

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

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

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

  • Шаг 3. Добавление поставщиков удостоверений

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

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

  • Шаг 6. Просмотр сведений об интеграции приложений

  • Шаг 7. Создание приложения ASP.NET проверяющей стороны

  • Шаг 8. Настройка доверия между службой ACS и приложением ASP.NET проверяющей стороны

  • Шаг 9. Проверка интеграции между службой 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. На странице Поставщики удостоверений нажмите кнопку Добавить, выберите Google в качестве поставщика удостоверений и нажмите кнопку Далее.

  3. На странице Добавление поставщика удостоверений Google необходимо ввести текст ссылки для входа (по умолчанию — Google) и URL-адрес изображения. Этот URL-адрес указывает на файл изображения, который можно использовать как ссылку для входа этого поставщика удостоверений. Изменять эти поля необязательно. Сейчас просто нажмите кнопку Сохранить.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

    • В разделе Поставщики удостоверений выберите поставщики удостоверений, которые будут использоваться для этого приложения. В этом упражнении примите проверенные значения по умолчанию (Google и Windows Live ID).

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

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

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

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

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

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

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

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

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

  4. На странице "Создание правил: группа правил по умолчанию для TestApp" примите поставщики удостоверений, выбранные по умолчанию (в этом упражнении Google и Windows Live ID), а затем нажмите кнопку "Создать".

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

Шаг 6. Просмотр сведений об интеграции приложений

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

Просмотр сведений об интеграции приложений

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

    URI ACS, отображаемые на странице интеграции приложений, уникальны для пространства имен контроль доступа.

    В этом упражнении рекомендуется держать эту страницу открытой, чтобы быстро выполнить оставшиеся шаги.

Шаг 7. Создание приложения ASP.NET проверяющей стороны

В этом разделе описывается создание приложения ASP.Net проверяющей стороны, которое вы хотите интегрировать с ACS.

Создание приложения ASP.NET проверяющей стороны

  1. Чтобы запустить Visual Studio 2010, нажмите кнопку "Пуск", нажмите кнопку "Выполнить", введите следующий текст и нажмите клавишу ВВОД:
    devenv.exe

  2. В Visual Studio откройте меню Файл и выберите пункт Новый проект.

  3. В окне Новый проект выберите шаблон Visual Basic или Visual C#, а затем выберите элемент Веб-приложение ASP.NET MVC 2.

  4. В поле Имя введите следующий текст и нажмите кнопку ОК:
    TestApp

  5. В окне Создание проекта модульного теста выберите Нет, не создавать проект модульного теста, а затем нажмите кнопку ОК.

  6. В обозревателе решений щелкните правой кнопкой мыши TestApp и выберите пункт Свойства.

  7. В окне Свойства TestApp откройте вкладку Интернет, в разделе Использовать сервер разработки Visual Studio щелкните Указанный порт и измените значение на 7777.

  8. Чтобы выполнить и отладить созданное приложение, нажмите F5. Если ошибки не обнаружены, в браузере появится пустой проект MVC.

    Не закрывайте Visual Studio 2010, чтобы завершить следующий шаг.

Шаг 8. Настройка доверия между службой ACS и приложением ASP.NET проверяющей стороны

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

Настройка доверия между приложением ASP.NET проверяющей стороны и службой ACS

  1. В Visual Studio 2010 в обозревателе решений для TestApp щелкните правой кнопкой TestApp и выберите команду Добавить ссылку на STS.

  2. В мастере федерации выполните следующие действия.

    1. На странице приветствия мастера федерации в поле URI приложения введите URI приложения и нажмите кнопку Далее. В этой демонстрации используется https://localhost:7777/универсальный код ресурса (URI) приложения.

      Примечание

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

    2. Появится предупреждение: идентификатор 1007: приложение не размещено в безопасном https-подключении. Продолжить? Для этой демонстрации нажмите кнопку "Да".

      Примечание

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

    3. На странице службы маркеров безопасности выберите "Использовать существующую службу маркеров безопасности", введите URL-адрес метаданных WS-Federation, опубликованный ACS, и нажмите кнопку "Далее".

      Примечание

      Значение URL-адреса метаданных WS-Federation можно найти на странице интеграции приложений на портале управления ACS. Дополнительные сведения см. в шаге 6. Просмотр сведений об интеграции приложений.

    4. На странице Ошибка проверки цепочки сертификатов подписи STS нажмите кнопку Далее.

    5. На странице Шифрование токена безопасности нажмите Далее.

    6. На странице Предложенные утверждения нажмите кнопку Далее.

    7. На странице Сводка нажмите кнопку Готово.

    После успешного запуска мастера федерации он добавляет ссылку на сборку Microsoft.IdentityModel.dll и записывает значения в файл Web.config, который настраивает Windows Identity Foundation в веб-приложении ASP.NET MVC 2 (TestApp).

  3. Откройте файл Web.config и найдите основной элемент system.web. Он может выглядеть следующим образом:

    <system.web>
        <authorization>
          <deny users="?" />
        </authorization>
    

    Добавьте следующий в основной элемент system.web в файле Web.config, чтобы включить проверку запросов:

        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
    
    

    После этого фрагмент кода выше должен выглядеть следующим образом:

    
       <system.web>
        <!--set this value-->
        <httpRuntime requestValidationMode="2.0"/>
        <authorization>
        <deny users="?" />
        </authorization>
    

Шаг 9. Проверка интеграции между службой ACS и приложением ASP.NET проверяющей стороны

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

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

  1. Не закрывая Visual Studio 2010, нажмите F5, чтобы начать отладку приложения ASP.NET проверяющей стороны.

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

  2. Выберите Google.

    В браузере откроется страница входа Google.

  3. Введите тестовые учетные данные Google и примите условия, показанные на веб-сайте Google.

    Затем браузер отправляет обратно в ACS, ACS выдает маркер и публикует этот маркер на сайте MVC.

См. также:

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

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