Поделиться через


Пример кода: ASP.NET MVC 4 с федеративными выходами

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

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

В этом примере показано, как интегрировать Microsoft Azure Active Directory контроль доступа (также известный как служба контроль доступа или ACS) с приложением ASP.NET MVC 4. Интеграция со службой ACS позволяет использовать функции единого входа и выхода поддерживаемых поставщиков удостоверений в приложении ASP.NET MVC 4.

Код для этого примера находится в подкаталоге ASPNETSimpleMVC4 (C#\Websites\ASPNETSimpleMVC4) пакета примеров кода Microsoft Azure Active Directory контроль доступа (ACS).

Дополнительные сведения о функции единого выхода в ACS см. в разделе "Единый выход".

Предварительные требования

Для запуска этого примера потребуется:

Дополнительные сведения см. в разделе "Предварительные требования ACS".

Настройка примера

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

  • Вариант 1. Использование портала управления ACS

  • Вариант 2. Использование службы управления ACS

Вариант 1. Использование портала управления ACS

Настройка примера с помощью портала управления ACS

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

  2. Чтобы создать пространство имен Access Control, щелкните Создать, Службы приложений, Управление доступом, а затем выберите Быстрое создание. (Или щелкните Пространства имен Access Control перед тем, как щелкнуть Создать.)

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

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

  4. Чтобы разрешить пользователям приложения входить с помощью удостоверений Google или Yahoo! щелкните "Поставщики удостоверений", нажмите кнопку "Добавить" , а затем добавьте Google и Yahoo!.

    Инструкции см. в google как поставщик удостоверений ACS и Yahoo! в качестве поставщика удостоверений ACS. Windows Live ID (учетная запись Майкрософт) добавляется по умолчанию и не может быть удалена.

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

    • В поле Имя введите ASPNETMVC4Sample.

    • В поле Realm (Область ) введите https://localhost:65000/

    • В поле "Возвращаемый URL-адрес" введите https://localhost:65000/

    • В поле "URL-адрес ошибки" введите https://localhost:65000/Error

    • В поле Формат токенов выберите SAML 2.0.

    • В поле Подпись токена выберите Использовать сертификат пространства имен службы (стандартный).

    Сведения о полях и значениях на странице "Добавление приложения проверяющей стороны" см. в разделе "Приложения проверяющей стороны".

  6. Чтобы создать группу правил, которые отправляют все утверждения, выданные поставщиками удостоверений, приложению проверяющей стороны, щелкните Группы правил и Группа правил по умолчанию для ACS Simple MVC4 Sample, а затем нажмите кнопки Создать и Сохранить.

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

Теперь этот пример настроен и готов к запуску в Visual Studio 2012.

Вариант 2. Использование службы управления ACS

Пример решения Visual Studio содержит консольное приложение с именем ConfigureSample, которое использует службу управления ACS и общие вспомогательные функции, определенные в библиотеке общих классов. Это приложение можно использовать для настройки пространства имен контроль доступа для использования с этим примером.

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

  1. Чтобы настроить пример, откройте файл SamplesConfiguration.cs (acs\Management\ManagementService\Common). Замените заполнители в классе SamplesConfiguration в библиотеке общих классов сведениями о пространстве имен контроль доступа. Сведения можно найти на портале управления ACS.

    Чтобы перейти на портал управления ACS, перейдите на Microsoft Azure портал управления (https://manage.WindowsAzure.com), войдите и щелкните Active Directory. (Совет по устранению неполадок: элемент Active Directory отсутствует или недоступен) Чтобы управлять пространством имен контроль доступа, выберите пространство имен и нажмите кнопку "Управление". (Или щелкните Пространства имен Access Control, выберите пространство имен, а затем щелкните Управление.)

    • ServiceNamespace — введите имя пространства имен контроль доступа.

    • ManagementServiceIdentityName — введите имя учетной записи службы управления ACS. Значение по умолчанию — ManagementClient.

      Чтобы найти имя учетной записи службы управления, на портале управления ACS щелкните "Служба управления". Имена учетных записей указаны в разделе Учетные записи службы управления.

    • ManagementServiceIdentityKey— введите пароль учетной записи службы управления.

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

  2. Запустите приложение ConfigureSample в Visual Studio. Приложение использует данные в SamplesConfiguration.cs для настройки ACS для запуска примера.

Запуск примера

Выполнение образца

  1. Откройте файл решения для примера ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\) в Visual Studio 2012.

  2. Щелкните правой кнопкой мыши проект и выберите Удостоверение и доступ.

  3. Выберите параметр Использовать службу Azure Access Control.

  4. Рядом со строкой Выберите один или несколько поставщиков... щелкните Настроить.

  5. Введите пароль контроль доступа пространства имен и учетной записи службы управления.

  6. Выберите один или несколько поставщиков удостоверений из списка.

    Отображаемые поставщики удостоверений — это те, которые вы добавили при настройке примера на портале ACS или в службе управления ACS.

    Теперь приложение проверяющей стороны настроено для использования ACS.

  7. Нажмите клавишу F5 для запуска приложения. Браузер направляется на страницу обнаружения домашней области ACS.

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

  9. Введите учетные данные учетной записи Google и отклоните форму запроса согласия пользователя.

Браузер перенаправляется на https://localhost:65000/. Обратите внимание, что ваше имя пользователя Google отображается в левом верхнем углу страницы. Это значит, что вы вошли в приложение проверяющей стороны. Чтобы выйти, щелкните ссылку "Выйти". Обратите внимание, что теперь вам необходимо снова пройти проверку подлинности.

См. также:

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

Практическое руководство. Создание пространства имен контроль доступа
Служба управления ACS