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


Пример кода: ASP.NET Simple MVC 2

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

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

В этом примере показано, как интегрировать Microsoft Azure Active Directory контроль доступа (также называемую службой контроль доступа или ACS) с приложением ASP.NET MVC. Код для этого примера находится в подкаталоге ASPNETSimpleMVC (C#\Websites\ASPNETSimpleMVC) пакета примеров кода Microsoft Azure Active Directory контроль доступа (ACS).

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

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

  1. Учетная запись на домашней странице Azure и пространство имен контроль доступа. В этом примере предполагается, что имя go на портале управления Microsoft Azure (https://manage.WindowsAzure.com), войдите в систему и щелкните Active Directory. (Совет по устранению неполадок: элемент Active Directory отсутствует или недоступен) является acssamples, даже если имя пространства имен контроль доступа будет отличаться.

  2. Visual Studio 2010 (любая версия)

  3. Пакет SDK Windows Identity Foundation.

Дополнительные сведения см. в разделе "Предварительные требования ACS " (https://go.microsoft.com/fwlink/?LinkId=221065).

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

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

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

  2. Вариант 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, выберите пространство имен, а затем щелкните Управление.)

    Это действие открывает портал управления Access Control Service.

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

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

    • В поле Имя введите ASPNET Simple MVC Sample.

    • В поле "Область " введите https://localhost:63000/

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

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

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

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

  6. Щелкните Сохранить, а затем щелкните "Домашняя", чтобы вернуться на домашнюю страницу.

  7. После регистрации проверяющей стороны пришло время создать правила, определяющие утверждения, которые acS будут выдавать вашему приложению. В этом примере мы просто передадим все утверждения, выданные поставщиком удостоверений. Чтобы создать это правило, щелкните кнопку Группы правил, а затем нажмите Группа правил по умолчанию для ASPNET Simple MVC Sample. В нижней части страницы щелкните ссылку Создать. Убедитесь, что выбраны три поставщика удостоверений Yahoo!, Google и Windows Live ID (учетная запись Майкрософт) и нажмите кнопку "Создать".

  8. Щелкните кнопку Сохранить и перейдите на главную страницу.

  9. После настройки ACS откройте Visual Studio.

Вариант 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, которое настроит ACS для запуска этого примера.

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

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

  1. Откройте пример, расположенный на веб-сайтах\ASPNETSimpleMVC\ASPNETSimpleMVC.sln в Visual Studio

  2. Чтобы запустить приложение, нажмите клавишу F5.

  3. Закройте браузер, чтобы остановить приложение и продолжить настройку ACS.

  4. Щелкните правой кнопкой мыши проект и в контекстном меню нажмите кнопку Добавить ссылку на службы токенов безопасности.

  5. В диалоговом окне введите корень веб-приложения в поле Универсальный код ресурса приложения и нажмите кнопку Далее. Для этого примера это значение равно https://localhost:63000/

    Примечание

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

  6. В следующем окне выберите переключатель Use Existing STS и введите универсальный код ресурса (URI) метаданных WS-Federation, опубликованных пространством имен контроль доступа. Чтобы найти универсальный код ресурса (URI), на портале ACS щелкните "Интеграция приложений". Если имя пространства имен контроль доступа — acssamples, URI — https://acssamples.accesscontrol.windows.net/FederationMetadata/2007-06/FederationMetadata.xml. После того как вы введете значение, нажмите кнопку Далее.

  7. Поскольку для веб-сайта не требуются зашифрованные токена, нажмите Далее и Готово.

  8. AcS и ваше приложение теперь настроены. Нажмите клавишу F5 в Visual Studio, чтобы запустить приложение. Браузер будет направлен на страницу обнаружения домашней области ACS.

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

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

  11. Браузер должен вернуться к https://localhost:63000/Error пользовательской строке ошибки и отобразить ее, указывающую на отмену входа на сайт.

  12. Чтобы повторить попытку, щелкните ссылку, а затем щелкните поставщик удостоверений.

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

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