Пример кода: простые формы ASP.NET

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

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

В этом примере показано, как интегрировать ACS с приложением ASP.NET Web Forms. Код для этого примера находится в подкаталоге ASPNETSimpleForms (C#\Websites/ASPNETSimpleForms) пакета примеров кода Microsoft Azure Active Directory контроль доступа (ACS).

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

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

  1. Учетная запись в портал Azure и пространстве имен контроль доступа.

  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, нажмите кнопку "Приложения проверяющей стороны", нажмите кнопку "Добавить", а затем введите следующие сведения в форме:

    • В поле Имя введите Пример простых форм ASP .NET.

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

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

    • В раскрывающемся списке Формат токена выберите SAML 2.0.

    • В разделе "Поставщики удостоверений" выберите Google, Windows Live ID и Yahoo!

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

    • Оставьте значения по умолчанию в других полях.

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

  7. После регистрации приложения проверяющей стороны пришло время создать правила, определяющие утверждения, которые acS будут выдавать вашему приложению. В этом примере мы просто передадим все утверждения, выданные поставщиком удостоверений. Чтобы создать это правило, щелкните кнопку Группы правил, а затем нажмите Группа правил по умолчанию для примера простых форм ASP .NET. В нижней части страницы щелкните ссылку Создать. Убедитесь, что выбраны три поставщика удостоверений Yahoo!, Google и нажмите кнопку "Создать". Наконец, щелкните кнопку Сохранить и вернитесь на главную страницу.

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

Вариант 2. Настройка примера с помощью службы управления 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. Откройте пример, расположенный на веб-сайтах\ASPNETSimpleForms\ASPNETSimpleForms.sln в Visual Studio.

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

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

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

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

    Примечание

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

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

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

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

  9. Щелкните Yahoo! или Google, чтобы перейти на этого поставщика удостоверений.

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

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