Основы разработки с access control service...

43
PBC203ILL Лабораторная работа Основы разработки с Access Control Service 2.0

Upload: others

Post on 06-Feb-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

PBC203ILLЛабораторная работаОсновы разработки с Access Control Service

2.0

Page 2: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Содержание1. ОБЗОР ЛАБОРАТОРНОЙ РАБОТЫ...............................................................................................3

1.1. Описание....................................................................................................................................31.2. Цели...............................................................................................................................................41.3. Системные требования...............................................................................................................41.4. Настройка.....................................................................................................................................41.5. Использование фрагментов кода...............................................................................................51.6. Упражнения..................................................................................................................................5

2. УПРАЖНЕНИЕ 1: НАСТРОЙКА АУТЕНТИФИКАЦИИ ЧЕРЕЗ НЕСКОЛЬКО ПРОВАЙДЕРОВ ВХОДА........................................................................................................................................................ 5

2.1. Задание 1: создание начального решения....................................................................................52.2. Задание 2: создание ACS...........................................................................................................102.3. Задание 3: настройка провайдеров входа...............................................................................122.4. Задание 4: настройка веб-сайта...............................................................................................202.5. Задание 5: проверка.................................................................................................................25

3. УПРАЖНЕНИЕ 2: СОЗДАНИЕ ПРАВИЛ АВТОРИЗАЦИИ ДЛЯ ВАШЕГО ПРИЛОЖЕНИЯ.. .273.1. Задание 1: визуализация утверждений из токена..................................................................273.2. Задание 2: создание правил авторизации...............................................................................303.3. Задание 3: добавление авторизации в веб-приложение.......................................................313.4. Задание 4: проверка..................................................................................................................33

4. УПРАЖНЕНИЕ 3: КАСТОМИЗАЦИЯ UI ВЫБОРА ПРОВАЙДЕРОВ ВХОДА..........................344.1. Задание 1: размещение страницы входа в рамках веб-приложения....................................344.2. Задание 2: проверка..................................................................................................................39

5. ЗАКЛЮЧЕНИЕ............................................................................................................................... 40

Внимание:1. Для выполнения данной лабораторной работы

необходима учетная запись Windows Azure2. Все описанные в данном документе материалы находятся

в каталоге C:\WAPTK\Labs\IntroToACS2\3. Пароль для входа в систему: Passw0rd!

2 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 3: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

1. Обзор лабораторной работы

1.1. Описание

Соединение приложения с пользователями является базовой задачей любого решения, не зависимого от того, находится ли оно в облаке или локально.

Развивающиеся стандарты помогают решить данную сложную задачу, в которой обычно пользователи зарегистрированы на разных сайтах, под разными именами. Тем не менее, задача приема пользователей с разных сайтов остается непростой в силу вариации протоколов и их версий. Сегодня вы хотите открыть вашему приложению доступ к пользователям с Facebook, Live ID, Google и бизнес организации, что требует изучения и имплементации 4х различных протоколов. Изменения происходят часто и быстро – вам необходимо поддерживать последнею версию механизма аутентификации. Все это отнимает определенное количество энергии, которое могло быть потрачено на более важные вещи – разработку нового функционала приложения.

Рисунок 1Функциональная схема сервиса контроля доступа

AppFabric Access Control Service (ACS) предоставляет вам возможность абстрагироваться от сложной разработки и поддержки различных протоколов провайдеров входа. ACS берет на себя всю работу по взаимодействию с провайдерами и нормализации результатов от них, предоставляя их в унифицированном виде, поддерживаемом .Net Framework (по большей части WIF). WIF позволяет вам в несколько кликов добавить менеджер аутентификации в ваше

3 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 4: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

приложение, в том время ACS берет на себя ответственность за все, начиная с предоставления UI для выбора провайдера входа.

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

1.2. ЦелиВ данной лабораторной работе вы узнаете как:

Настроить ваше приложение на использование ACS Настроить провайдеры входа в ACS Настроить правила и удостоверения в ACS Добавить в ваше приложение сценарий авторизации Кастомизировать UI выбора провайдеров входа

1.3. Системные требованияДля успешного выполнения лабораторной работы вам необходимо следующее:

Microsoft® Windows® Vista SP2 (32-bits or 64-bits) , Microsoft® Windows Server 2008 SP2 (32-bits or 64-bits), Microsoft® Windows Server 2008 R2, or Microsoft® Windows® 7 RTM (32-bits or 64-bits)

Microsoft® Internet Information Services (IIS) 7.0 Microsoft® .NET Framework 4 Microsoft® Visual Studio 2010 Microsoft® Windows Identity Foundation Runtime Microsoft® Windows Identity Foundation SDK Microsoft® Windows PowerShell

1.4. НастройкаНеобходимо выполнить следующие шаги для подготовки вашего компьютера к лабораторной работе:

1. Открыть в Windows Explorer папкуC:\WAPTK\Labs\IntroToACS2\Source\Setup

2. Запустить двойным кликом мышки файл Dependencies.dep, который установит все необходимые для лабораторной работы компоненты и настройки.

Заметка: Данная процедура может потребовать привилегированного режима запуска. Формат .dep ассоциирован с инструментом Dependency Checker во время установки. Дополнительную информацию, относящуюся к установке можно найти в Setup.docx в папке Assets тренировочного комплекта.

4 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 5: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

1.5. Использованиефрагментов кодаВ ходе выполнения работы вам необходимо будет вставлять блоки кода. Для вашего удобства большая часть кода предоставлена в виде Visual Studio Code Snippets, которые вы можете использовать из Visual Studio 2010, не вставляя код вручную.

Если вы не знакомы с Visual Studio Code Snippets и хотите узнать как их использовать, необходимую информацию можно найти в Setup.docx в папке Assets тренировочного комплекта.

1.6. УпражненияВ ходе данной лабораторной работы вы выполните следующие упражнения:

Настройка аутентификации через несколько провайдеров входа Создание правил авторизации для вашего приложения Кастомизация UI выбора провайдеров входа

2. 1: Упражнение настройка аутентификации через несколько провайдеров входа

В данном упражнении мы познакомитесь с основами ACS. Ваша задача добавить контроль доступа на только что созданный ASP.NET веб-сайт. Он будет принимать пользователей с Google, Yahoo! и Live ID.

2.1. 1Задание : создание начального решения1. Запустить Visual Studio 2010 в привилегированном режиме

2. Открыть пустое решение WebSiteACS.sln из папки Source\Ex01-AcceptUsersFromMultipleIPs\Begin.

3. Создать новый веб-сайт (ASP.NET Web Site) и указать путь https://localhost/WebSiteACS.

5 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 6: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 1Добавление нового веб-сайта

4. Удалите следующие папки из проекта:

◦ Account

◦ Scripts

Добавьте следующие файлы:

◦ About.aspx

◦ Global.asax

Рисунок 3Структура проекта

6 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 7: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

5. Откройте Site.master и удалите DIV с именем класса “loginDisplay” и NavigationMenu контрол.

ASP.NET

...<div class="page"> <div class="header"> <div class="title"> <h1> My ASP.NET Application </h1> </div> <div class="loginDisplay"> <asp:LoginView ID="HeadLoginView" runat="server" EnableViewState="false"> <AnonymousTemplate> [ <a href="~/Account/Login.aspx" ID="HeadLoginStatus" runat="server">Log In</a> ] </AnonymousTemplate> <LoggedInTemplate> Welcome <span class="bold"><asp:LoginName ID="HeadLoginName" runat="server" /></span>! [ <asp:LoginStatus ID="HeadLoginStatus" runat="server" LogoutAction="Redirect" LogoutText="Log Out" LogoutPageUrl="~/"/> ] </LoggedInTemplate> </asp:LoginView> </div> <div class="clear hideSkiplink"> <asp:Menu ID="NavigationMenu" runat="server" CssClass="menu" EnableViewState="false" IncludeStyleBlock="false" Orientation="Horizontal"> <Items> <asp:MenuItem NavigateUrl="~/Default.aspx" Text="Home"/> <asp:MenuItem NavigateUrl="~/About.aspx" Text="About"/> </Items> </asp:Menu> </div></div>...

Код должен выглядеть следующим образом:

ASP.NET

...<div class="page"> <div class="header"> <div class="title"> <h1> My ASP.NET Application

7 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 8: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

</h1> </div> <div class="clear hideSkiplink"> </div> </div>...

6. Откройте Web.config и удалите следующие секции:

◦ connectionStrings

◦ system.web/authentication

◦ system.web/membership

◦ system.web/profile

◦ system.web/roleManager

Web.config должен выглядеть следующим образом.

XML

<?xml version="1.0"?><!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 -->

<configuration> <system.web> <compilation debug="false" targetFramework="4.0" /> </system.web>

<system.webServer> <modules runAllManagedModulesForAllRequests="true"/> </system.webServer></configuration>

7. Нажмите F5 и убедитесь в том, что все правильно работает. Если вас спросят про режим отладки, выберите “Modify the Web.config file to enable debugging”.

8 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 9: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 2Режим отладки

Рисунок 3Запущенное приложение

8. Веб-сайт работает без какой либо системы контроля доступа.

9 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 10: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

2.2. 2: Задание создание ACS

В данном задании необходимо создать ACS.

9. Для этого перейдите на https :// windows . azure . com / и войдите с помощью Live ID.

10. Выберите вкладку Service Bus, Access Control & Caching

Рисунок 4 Access Control Service портал

11. Создайте новое пространство имен Access Control Service Namespace. Это уникальный адрес, по которому будут доступны все ваши точки доступа. Для этого выберите AppFabric и нажмите кнопку New Namespace.

10 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 11: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 5Создание пространства имен

12. В диалоге укажите уникальное имя пространства имен и выберите регион.

Рисунок 6Диалог создания нового пространства имен

13. Пожалуйста, дождитесь момента, когда инициализация будет закончена.

11 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 12: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 7Активация пространства имен

2.3. 3Задание : настройка провайдеров входа14. Выберите созданное пространство имен и нажмите Access Control Service – Manage.

Рисунок 8Меню управления пространствами имен

15. Данная операция откроет портал управления вашим пространством имен Access Control Service Management Portal.

12 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 13: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 9Портал управления Access Control Service

16. Портал управления позволяет выполнять различные настройки сервиса, такие как провайдеры входа и правила. Перейдите в меню управления провайдерами входа Identity Providers.

Рисунок 12Провайдеры входа

17. Нажмите Add того чтобы добавить, выберите yahoo! и нажмите Next. Windows Live ID идет по умолчанию.

13 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 14: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 10Добавление провайдера входа

18. Оставьте стандартные настройки и нажмите Save.

Рисунок 11Страница настройки провайдера

19. Выполните все те же самые шаги для добавления Google.

14 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 15: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 12Финальный список провайдеров входа

20. Перейдите в меню Relying Party Applications для регистрации вашего веб-сайта.

Регистрация 13Relying Party приложения

21. Нажмите Add, заполните форму следующим образом:

◦ Name: WebSiteACS

◦ Mode: Enter settings manually

15 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 16: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

◦ Realm: https://localhost/WebSiteACS/

◦ Return URL: https://localhost/WebSiteACS/Default.aspx

◦ Error URL:

◦ Token format: SAML 1.1

◦ Token encryption policy: None

◦ Token lifetime (secs): 600

◦ Identity Providers: Google, Windows Live ID, Yahoo!

◦ Rule groups: Create New Rule Group

◦ Token signing: Use service namespace certificate (standard)

16 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 17: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 14Добавление Relying Party приложения

17 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 18: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

22. Нажмите Save.

23. Перейдите в меню Rule Groups для создания правил преобразования для вашего приложения.

Рисунок 15Группы правил

Рисунок 16ACS получает токены от разных систем в разных форматах. После этого он нормализует данные и отправляет их в настроенном формате вашему приложению

24. Выберите Default Rule Group for WebSiteACS и нажмите Generate. Затем выберите все три провайдера и нажмите Generate. ACS создаст стандартные правила преобразования. Нажмите Save.

18 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 19: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 17Создание правил

Рисунок 18Стандартные правила созданы

25. Перейдите в меню Integration, которое содержите необходимую информацию для настройки вашего приложения.

19 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 20: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

26. Скопируйте путь до файла WS-Federation Metadata. Он понадобится для настройки приложения.

Рисунок 19Сохранение ссылки WS-Federation Metadata

2.4. 4Задание : -настройка веб сайтаТеперь мы готовы к настройке приложения на прием токенов от ACS. Для этого выберите проект, нажмите на него правой кнопкой и запустите мастер Add STS Reference. Все необходимые настройки находятся в файле Metadata, путь к которому мы скопировали.

27. Пожалуйста, пройдите все шаги Federation Utility, заполнив их правильным образом.

a. На первой странице нажмите Next, используя автоматически заполненные настройки.

20 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 21: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 20Первый экран Federation Utility

b. На втором экране выберите опцию "Use an existing STS" и укажите путь до файла с мета данными. Нажмите Next.

21 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 22: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 21Указываем путь до мета данных

c. На странице STS signing certificate chain validation error укажите опцию Disable certificate chain validation и нажмите Next.

22 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 23: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 22Опции проверки сертификата

d. На странице Security token encryption выберите опцию No encryption и нажмите Next.

23 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 24: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 23Шифрование токенов

e. На странице Offered claims нажмите Next.

24 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 25: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 24Предоставленные утверждения

f. На странице Summary нажмите Finish.

2.5. 5: Задание проверкаНастало время проверить работоспособность нашего приложения. Для этого выполните следующие шаги:

28. Запустите отладку нажатием F5.

29. Выберите провайдер входа.

25 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 26: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 25Выбор провайдера входа

30. Введите свой логин и пароль, аутентифицируйтесь.

Рисунок 26Вход через Live ID

31. После успешного входа в Live ID вы попадете на ACS, который выполнит все необходимые действия, создаст новый токен и перенаправит вас с ним на веб-приложение.

26 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 27: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

32. Процесс полностью прозрачен для пользователя, позволяет вам хорошо защитить ваше веб-приложение и всегда знать кто находится на страничке.

Рисунок 27Пользователь аутентифицирован

3. 2: Упражнение создание правил авторизации для вашего приложения

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

Задача очень простая – присвоить пользователю определенные права, которые будут использоваться сайтом для авторизации.

3.1. 1: Задание визуализация утвержденийиз токенаWIF делает прекрасную работу по обработке всех низкоуровневых операциях. Перед тем как добавлять новые утверждения в токен давайте посмотрим, какие данные получает

27 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 28: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

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

33. Скопируется готовое решение Ex01 в Source\Ex02-EasyAuthorizationWithACS\Begin.

Рисунок 28Копирование решения

34. Запустите Visual Studio 2010 в привилегированном режиме.

35. Откройте скопированное решение WebSiteACS.sln из папки Source\Ex02-EasyAuthorizationWithACS\Begin.

36. Откройте файл Default.aspx.

37. Из Visual Studio Toolbox добавьте Security Token Visualizer Control на вашу страницу:

Рисунок 29Security Token Visualizer Control in Toolbox

ASP.NET

28 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 29: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

<cc1:SecurityTokenVisualizerControl ID="SecurityTokenVisualizerControl1" runat="server" />

38. Откройте Web.config и добавьте следующую опцию saveBootstrapTokens в атрибут service в секцию microsoft.identityModel:

XML

<microsoft.identityModel> <service saveBootstrapTokens="true"> <audienceUris>

39. Запустите отладку нажатием F5. Пройдите по той же цепочке входа, что и в первом упражнении.

40. Раскройте Security Token Visualizer Control.

Рисунок 30Security Token Visualizer Control

Как мы видим токен содержит различную информацию: откуда пользователь пришел (провайдер входа), его уникальный идентификатор в этой системе, время издания токена и т.д.

41. Сохраните утверждение nameidentifier. Оно может меняться в зависимости от выбранного провайдера, даже если используется аккаунт с одинаковым почтовым адресом.

Рисунок 31

29 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 30: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Копируем nameidentifier утверждение

3.2. 2Задание : создание правил авторизации42. Перейдите на портал управления ACS (см. Упражнение 1).

43. Перейдите в раздел Rule Groups.

Рисунок 32Группы правил

44. Выберите группу Default Rule Group for WebSiteACS.

45. Нажмите Add для создания нового правила.

46. Внесите следующие значения:

◦ If…

Claim issuer / Identity Provider: Windows Live ID

(And) Input claim type / Select type: http://schemas.microsoft.com/ws/2005/05/identity/claims/nameidentifier

(And) Input claim value / Enter value: сохраненный идентификатор

◦ Then…

Output claim type / Enter type: http://schemas.microsoft.com/ws/2008/06/identity/claims/role

Output claim value / Enter value: Administrator

30 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 31: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

◦ Rule information

Description: Administrator claim rule

Рисунок 33Добавление правила

47. Нажмите Save.

3.3. 3: -Задание добавление авторизации в веб приложениеТеперь после того как добавлено новое правило, приложение будет получать токены, содержащие дополнительную информацию о роли. Давайте добавим секретный контент на нашу страницу.

31 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 32: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

48. Добавьте в файл Styles\Site.css следующий код:

CSS

.secretContent{ border-style: solid; background-color: Red; padding: 5px; color: White;}

49. Откройте страницу Default.aspx и добавьте следующий ASP.NET Panel контрол:

ASP.NET

<p> You can also find <a href="http://go.microsoft.com/fwlink/?LinkID=152368&amp;clcid=0x409" title="MSDN ASP.NET Docs">documentation on ASP.NET at MSDN</a>.</p> <asp:Panel Visible="false" CssClass="secretContent" runat="server" ID="SecretContent"> Secret Content (Only administrators can access this section)</asp:Panel><cc1:SecurityTokenVisualizerControl ID="SecurityTokenVisualizerControl1" runat="server" />

50. Откройте Default.aspx.cs и добавьте следующее пространство имен:

(Code Snippet – Introduction to AppFabric AC Lab - Ex02 Default.aspx.cs Usings – C#)

C#

using System.Threading;

51. Добавьте следующий код в тело функции Page_Load:

(Code Snippet – Introduction to AppFabric AC Lab - Ex02 Page_Load – C#)

C#

if (Thread.CurrentPrincipal.IsInRole("Administrator")){ this.SecretContent.Visible = true;}

32 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 33: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

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

52. Запустите отладку приложения F5.

53. Войдите через Live ID, используя тот же аккаунт.

54. Теперь вы должны увидеть секретный контент, который показан вам, как пользователю с правами администратора.

Рисунок 34Секретный контент

55. Закройте браузер.

56. Запустит снова отладку F5.

57. Аутентифицируйтесь, используя другой Live ID аккаунт.

58. Секретный контент больше не будет виден.

33 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 34: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 35Секретный контент больше не виден

4. 3: Упражнение кастомизация UI выбора провайдеров входа

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

4.1. 1: -Задание размещение страницывхода в рамках вебприложения

59. Скопируйте готовое решение Ex02 в папку Source\Ex03-CustomSignInExperience\Begin.

34 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 35: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 36Копирование законченного упражнения

60. Перейдите на портал управления ACS.

61. Перейдите в раздел Application Integration.

35 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 36: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 37Application Integration

62. Выберите ваше приложение (WebSiteACS).

Рисунок 38Login Page Integration

63. В опции Option 2: Host the login page as part of your application нажмите Download Example Login Page.

36 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 37: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Рисунок 39Login Page Integration

64. Сохраните HTML в %SystemDrive%\inetpub\wwwroot\WebSiteACS.

65. Запустите Visual Studio 2010 в привилегированном режим.

66. Откройте WebSiteACS.sln из папки Source\Ex03-EasyAuthorizationWithACS\Begin.

67. Добавьте в веб-сайт https://localhost/WebSiteACS/ (Add Existing Item) скаченный HTML.

68. Откройте добавленный файл.

69. Замените у DIV с ID=“Banner” текст “Sign in to WebSiteACS” на “My custom login page for WebSiteACS”.

HTML

<div id="Main" style="display:none"> <div id="Banner" class="Banner"><b>My custom login page for WebSiteACS</b></div>

70. Перейдите в секцию <style> и обновите следующие записи:

◦ div.SignInContent

width: 1020px;

height: 170px;

◦ div.Banner

width: 1020px;

background: none repeat scroll 0 0 #4B6C9E;

color: #F9F9F9;

◦ div.LeftArea

width: 960px;

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

CSS

div.SignInContent{ text-align: center; margin-left: auto; margin-right: auto; border: solid 1px #BBBBBB; position: relative;

37 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 38: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

width: 1020px; height: 170px;}

div.Banner{ padding-top:10px; padding-bottom:10px; text-align: center; margin-left: auto; margin-right: auto; background: none repeat scroll 0 0 #4B6C9E; color: #F9F9F9; border-top: solid 1px #BBBBBB; border-left: solid 1px #BBBBBB; border-right: solid 1px #BBBBBB; width: 1020px;}

div.LeftArea{ padding:15px 15px; width: 960px; height: 100%; position: absolute; top: 0px; left: 0px;}

71. Откройте Web.config.

72. Добавьте следующие настройки в раздел <configuration>:

(Code Snippet – Introduction to AppFabric AC Lab - Ex03 Location - XML)

XML

<configuration> <configSections> ... </configSections> <location path="WebSiteACSLoginPageCode.html"> <system.web> <authorization> <allow users="*"/> </authorization> </system.web> </location> <location path="FederationMetadata"> …

38 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 39: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

</location>

73. В разделе microsoft.identityModel/service/federatedAuthentication/wsFederation обновите поле издателя на “https://localhost/WebSiteACS/WebSiteACSLoginPageCode.html”.

Web.config должен выглядеть следующим образом.

XML

<microsoft.identityModel> <service saveBootstrapTokens="true"> ... <federatedAuthentication> <wsFederation passiveRedirectEnabled="true" issuer="https://localhost/WebSiteACS/WebSiteACSLoginPageCode.html" realm="https://localhost/WebSiteACS/" requireHttps="true"/> <cookieHandler requireSsl="true"/> </federatedAuthentication>

74. Сохраните Web.config.

4.2. 2Задание : проверкаДля того чтобы проверить работоспособность приложения выполните следующие шаги:

75. Запустите отладку F5.

76. Выберите предпочтительный провайдер входа и аутентифицируйтесь.

Рисунок 40Кастомизированная страница входа

5. Заключение В ходе данной лабораторной работы вы узнали как:

39 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.

Page 40: Основы разработки с Access Control Service 2.0download.microsoft.com/.../PBC203ILL.Access_Control_Service… · Web viewIn this introductory hands-on lab you will

Настроить аутентификацию через несколько провайдеров входа Создать правила авторизации для вашего приложения Кастомизировать UI выбора провайдеров входа

Данная лабораторная работа показывает базовые возможности и идеи, которые можно легко развить в ваших приложениях. ACS предоставляет приложениям удобный доступ к пользователям из разных систем входа, таким как Facebook, Google, Yahoo! И Live ID. Он имеет богатый набор возможностей для интеграции не только с сайтами, но и сервисами и другими партнерами входа. Выполнять продвинутые операции можно с помощью специального API.

40 Microsoft Tech Ed Russia 2011. Лабораторная работа.∙Основы разработки с Access Control Service 2.0.