Пример кода: 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 см. в разделе "Единый выход".
Предварительные требования
Для запуска этого примера потребуется:
Учетная запись в портал Azure (https://go.microsoft.com/fwlink/?LinkID=275081) и пространстве имен контроль доступа. В этом примере используется пространство имен контроль доступа с именем acssamples. Ваше пространство имен может называться по-другому.
Дополнительные сведения о создании пространства имен контроль доступа см. в разделе "Практическое руководство. Создание пространства имен контроль доступа".
Visual Studio 2012
Средство идентификации и доступа для Visual Studio 2012 (https://msdn.microsoft.com/library/hh545418.aspx)
Дополнительные сведения см. в разделе "Предварительные требования ACS".
Настройка примера
Для настройки этого примера можно использовать портал управления ACS или службу управления ACS. В этом разделе описываются оба варианта.
Вариант 1. Использование портала управления ACS
Вариант 2. Использование службы управления ACS
Вариант 1. Использование портала управления ACS
Настройка примера с помощью портала управления ACS
Перейдите на портал управления Microsoft Azure (https://manage.WindowsAzure.com), войдите и щелкните Active Directory. (Совет по устранению неполадок: элемент Active Directory отсутствует или недоступен)
Чтобы создать пространство имен Access Control, щелкните Создать, Службы приложений, Управление доступом, а затем выберите Быстрое создание. (Или щелкните Пространства имен Access Control перед тем, как щелкнуть Создать.)
Для выполнения управления пространством имен Access Control выберите пространство имен и щелкните Управление. (Или щелкните Пространства имен Access Control, выберите пространство имен, а затем щелкните Управление.)
Откроется портал управления ACS.
Чтобы разрешить пользователям приложения входить с помощью удостоверений Google или Yahoo! щелкните "Поставщики удостоверений", нажмите кнопку "Добавить" , а затем добавьте Google и Yahoo!.
Инструкции см. в google как поставщик удостоверений ACS и Yahoo! в качестве поставщика удостоверений ACS. Windows Live ID (учетная запись Майкрософт) добавляется по умолчанию и не может быть удалена.
Чтобы зарегистрировать приложение в ACS, нажмите кнопку "Приложения проверяющей стороны", нажмите кнопку "Добавить", введите следующие сведения в форме и нажмите кнопку "Сохранить".
В поле Имя введите ASPNETMVC4Sample.
В поле Realm (Область ) введите https://localhost:65000/
В поле "Возвращаемый URL-адрес" введите https://localhost:65000/
В поле "URL-адрес ошибки" введите https://localhost:65000/Error
В поле Формат токенов выберите SAML 2.0.
В поле Подпись токена выберите Использовать сертификат пространства имен службы (стандартный).
Сведения о полях и значениях на странице "Добавление приложения проверяющей стороны" см. в разделе "Приложения проверяющей стороны".
Чтобы создать группу правил, которые отправляют все утверждения, выданные поставщиками удостоверений, приложению проверяющей стороны, щелкните Группы правил и Группа правил по умолчанию для ACS Simple MVC4 Sample, а затем нажмите кнопки Создать и Сохранить.
Раздел "Группы правил" на портале ACS создает правила, определяющие, какие утверждения ACS отправляет приложению. Выбрав все созданные правила, вы настроите ACS для отправки всех утверждений, выданных поставщиками удостоверений, в приложение проверяющей стороны.
Теперь этот пример настроен и готов к запуску в Visual Studio 2012.
Вариант 2. Использование службы управления ACS
Пример решения Visual Studio содержит консольное приложение с именем ConfigureSample, которое использует службу управления ACS и общие вспомогательные функции, определенные в библиотеке общих классов. Это приложение можно использовать для настройки пространства имен контроль доступа для использования с этим примером.
Настройка примера с помощью службы управления ACS
Чтобы настроить пример, откройте файл 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 щелкните "Управление службой". Щелкните имя учетной записи службы управления, а затем в разделе Учетные данные щелкните Пароль. Пароль отображается в поле Пароль. Чтобы скопировать пароль, нажмите кнопку Показать пароль.
Запустите приложение ConfigureSample в Visual Studio. Приложение использует данные в SamplesConfiguration.cs для настройки ACS для запуска примера.
Запуск примера
Выполнение образца
Откройте файл решения для примера ASPNETSimpleMVC4.sln (C#\Websites\ASPNETSimpleMVC4\) в Visual Studio 2012.
Щелкните правой кнопкой мыши проект и выберите Удостоверение и доступ.
Выберите параметр Использовать службу Azure Access Control.
Рядом со строкой Выберите один или несколько поставщиков... щелкните Настроить.
Введите пароль контроль доступа пространства имен и учетной записи службы управления.
Выберите один или несколько поставщиков удостоверений из списка.
Отображаемые поставщики удостоверений — это те, которые вы добавили при настройке примера на портале ACS или в службе управления ACS.
Теперь приложение проверяющей стороны настроено для использования ACS.
Нажмите клавишу F5 для запуска приложения. Браузер направляется на страницу обнаружения домашней области ACS.
Выберите Google. В браузере откроется страница входа Google.
Введите учетные данные учетной записи Google и отклоните форму запроса согласия пользователя.
Браузер перенаправляется на https://localhost:65000/. Обратите внимание, что ваше имя пользователя Google отображается в левом верхнем углу страницы. Это значит, что вы вошли в приложение проверяющей стороны. Чтобы выйти, щелкните ссылку "Выйти". Обратите внимание, что теперь вам необходимо снова пройти проверку подлинности.
См. также:
Основные понятия
Практическое руководство. Создание пространства имен контроль доступа
Служба управления ACS