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

advertisement
PBC203ILL
Лабораторная работа
Основы разработки с Access
Control Service 2.0
Содержание
1.
ОБЗОР ЛАБОРАТОРНОЙ РАБОТЫ ................................................................................................ 3
1.1.
Описание ...................................................................................................................................... 3
1.2. Цели ................................................................................................................................................ 4
1.3. Системные требования................................................................................................................. 4
1.4. Настройка....................................................................................................................................... 4
1.5. Использование фрагментов кода ................................................................................................ 5
1.6. Упражнения ................................................................................................................................... 5
2. УПРАЖНЕНИЕ 1: НАСТРОЙКА АУТЕНТИФИКАЦИИ ЧЕРЕЗ НЕСКОЛЬКО ПРОВАЙДЕРОВ
ВХОДА ......................................................................................................................................................... 5
2.1. Задание 1: создание начального решения..................................................................................... 5
2.2. Задание 2: создание ACS ............................................................................................................ 10
2.3. Задание 3: настройка провайдеров входа................................................................................ 12
2.4. Задание 4: настройка веб-сайта ................................................................................................ 20
2.5. Задание 5: проверка .................................................................................................................. 25
3.
УПРАЖНЕНИЕ 2: СОЗДАНИЕ ПРАВИЛ АВТОРИЗАЦИИ ДЛЯ ВАШЕГО ПРИЛОЖЕНИЯ ... 27
3.1.
3.2.
3.3.
3.4.
4.
УПРАЖНЕНИЕ 3: КАСТОМИЗАЦИЯ UI ВЫБОРА ПРОВАЙДЕРОВ ВХОДА.......................... 34
4.1.
4.2.
5.
Задание 1: визуализация утверждений из токена ................................................................... 27
Задание 2: создание правил авторизации................................................................................ 30
Задание 3: добавление авторизации в веб-приложение........................................................ 31
Задание 4: проверка ................................................................................................................... 33
Задание 1: размещение страницы входа в рамках веб-приложения .................................... 34
Задание 2: проверка ................................................................................................................... 39
ЗАКЛЮЧЕНИЕ ................................................................................................................................ 40
Внимание:
1. Для выполнения данной лабораторной работы
необходима учетная запись Windows Azure
2. Все описанные в данном документе материалы находятся
в каталоге C:\WAPTK\Labs\IntroToACS2\
3. Пароль для входа в систему: Passw0rd!
2
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
1. Обзор лабораторной работы
1.1.
Описание
Соединение приложения с пользователями является базовой задачей любого решения, не
зависимого от того, находится ли оно в облаке или локально.
Развивающиеся стандарты помогают решить данную сложную задачу, в которой обычно
пользователи зарегистрированы на разных сайтах, под разными именами. Тем не менее,
задача приема пользователей с разных сайтов остается непростой в силу вариации
протоколов и их версий. Сегодня вы хотите открыть вашему приложению доступ к
пользователям с Facebook, Live ID, Google и бизнес организации, что требует изучения и
имплементации 4х различных протоколов. Изменения происходят часто и быстро – вам
необходимо поддерживать последнею версию механизма аутентификации. Все это
отнимает определенное количество энергии, которое могло быть потрачено на более
важные вещи – разработку нового функционала приложения.
Рисунок 1
Функциональная схема сервиса контроля доступа
AppFabric Access Control Service (ACS) предоставляет вам возможность абстрагироваться от
сложной разработки и поддержки различных протоколов провайдеров входа. ACS берет на себя
всю работу по взаимодействию с провайдерами и нормализации результатов от них,
предоставляя их в унифицированном виде, поддерживаемом .Net Framework (по большей части
WIF). WIF позволяет вам в несколько кликов добавить менеджер аутентификации в ваше
приложение, в том время ACS берет на себя ответственность за все, начиная с предоставления UI
для выбора провайдера входа.
3
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
В данной лабораторной работе вы научитесь использовать ACS в качестве менеджера входа для
разных провайдеров, поймете насколько просто это можно сделать. Проще, чем объяснить это
тут.
1.2. Цели
В данной лабораторной работе вы узнаете как:





1.3.
Настроить ваше приложение на использование ACS
Настроить провайдеры входа в ACS
Настроить правила и удостоверения в ACS
Добавить в ваше приложение сценарий авторизации
Кастомизировать UI выбора провайдеров входа
Системные требования
Для успешного выполнения лабораторной работы вам необходимо следующее:







1.4.
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. Открыть в 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.
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\Ex01AcceptUsersFromMultipleIPs\Begin.
3. Создать новый веб-сайт (ASP.NET Web Site) и указать путь https://localhost/WebSiteACS.
5
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 1
Добавление нового веб-сайта
4. Удалите следующие папки из проекта:
◦
Account
◦
Scripts
Добавьте следующие файлы:
◦
About.aspx
◦
Global.asax
Рисунок 3
Структура проекта
6
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
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
</h1>
</div>
<div class="clear hideSkiplink">
7
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
</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.
Рисунок 2
Режим отладки
Рисунок 3
Запущенное приложение
8. Веб-сайт работает без какой либо системы контроля доступа.
9
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
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.
Рисунок 5
Создание пространства имен
12. В диалоге укажите уникальное имя пространства имен и выберите регион.
Рисунок 6
Диалог создания нового пространства имен
13. Пожалуйста, дождитесь момента, когда инициализация будет закончена.
11
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 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.
Рисунок 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.
Рисунок 10
Добавление провайдера входа
18. Оставьте стандартные настройки и нажмите Save.
Рисунок 11
Страница настройки провайдера
19. Выполните все те же самые шаги для добавления Google.
14
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 12
Финальный список провайдеров входа
20. Перейдите в меню Relying Party Applications для регистрации вашего веб-сайта.
Регистрация 13
Relying Party приложения
21. Нажмите Add, заполните форму следующим образом:
15
◦
Name: WebSiteACS
◦
Mode: Enter settings manually
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
16
◦
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)
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 14
Добавление Relying Party приложения
17
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
22. Нажмите Save.
23. Перейдите в меню Rule Groups для создания правил преобразования для вашего
приложения.
Рисунок 15
Группы правил
Рисунок 16
ACS получает токены от разных систем в разных форматах. После этого он
нормализует данные и отправляет их в настроенном формате вашему приложению
24. Выберите Default Rule Group for WebSiteACS и нажмите Generate. Затем выберите все три
провайдера и нажмите Generate. ACS создаст стандартные правила преобразования.
Нажмите Save.
18
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 17
Создание правил
Рисунок 18
Стандартные правила созданы
25. Перейдите в меню Integration, которое содержите необходимую информацию для
настройки вашего приложения.
19
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
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.
Рисунок 20
Первый экран Federation Utility
b. На втором экране выберите опцию "Use an existing STS" и укажите путь до файла с
мета данными. Нажмите Next.
21
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 21
Указываем путь до мета данных
c. На странице STS signing certificate chain validation error укажите опцию Disable
certificate chain validation и нажмите Next.
22
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 22
Опции проверки сертификата
d. На странице Security token encryption выберите опцию No encryption и нажмите
Next.
23
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 23
Шифрование токенов
e. На странице Offered claims нажмите Next.
24
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 24
Предоставленные утверждения
f.
2.5.
На странице Summary нажмите Finish.
Задание 5: проверка
Настало время проверить работоспособность нашего приложения. Для этого выполните
следующие шаги:
28. Запустите отладку нажатием F5.
29. Выберите провайдер входа.
25
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 25
Выбор провайдера входа
30. Введите свой логин и пароль, аутентифицируйтесь.
Рисунок 26
Вход через Live ID
31. После успешного входа в Live ID вы попадете на ACS, который выполнит все необходимые
действия, создаст новый токен и перенаправит вас с ним на веб-приложение.
26
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
32. Процесс полностью прозрачен для пользователя, позволяет вам хорошо защитить ваше
веб-приложение и всегда знать кто находится на страничке.
Рисунок 27
Пользователь аутентифицирован
3.
Упражнение 2: создание правил авторизации для вашего
приложения
В первом упражнение идет фокус на предоставлении возможности входа в ваше
приложение через разные провайдеры. В данном упражнении мы уделим детальное
внимание тому, что можно сделать с утверждениями, которые получаются в рамках
токенов. В качестве примера будет рассмотрен сценарий авторизации.
Задача очень простая – присвоить пользователю определенные права, которые будут
использоваться сайтом для авторизации.
3.1.
Задание 1: визуализация утверждений из токена
WIF делает прекрасную работу по обработке всех низкоуровневых операциях. Перед тем
как добавлять новые утверждения в токен давайте посмотрим, какие данные получает
27
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
приложение в данный момент от ACS. Для этого используем отладочный компонент,
который визуализирует данные.
33. Скопируется готовое решение Ex01 в Source\Ex02-EasyAuthorizationWithACS\Begin.
Рисунок 28
Копирование решения
34. Запустите Visual Studio 2010 в привилегированном режиме.
35. Откройте скопированное решение WebSiteACS.sln из папки Source\Ex02EasyAuthorizationWithACS\Begin.
36. Откройте файл Default.aspx.
37. Из Visual Studio Toolbox добавьте Security Token Visualizer Control на вашу страницу:
Рисунок 29
Security Token Visualizer Control in Toolbox
ASP.NET
28
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
<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.
Рисунок 30
Security Token Visualizer Control
Как мы видим токен содержит различную информацию: откуда пользователь пришел
(провайдер входа), его уникальный идентификатор в этой системе, время издания токена
и т.д.
41. Сохраните утверждение nameidentifier. Оно может меняться в зависимости от выбранного
провайдера, даже если используется аккаунт с одинаковым почтовым адресом.
Рисунок 31
29
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Копируем 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.
◦
Rule information
 Description: Administrator claim rule
Рисунок 33
Добавление правила
47. Нажмите Save.
3.3.
Задание 3: добавление авторизации в веб-приложение
Теперь после того как добавлено новое правило, приложение будет получать токены,
содержащие дополнительную информацию о роли. Давайте добавим секретный контент
на нашу страницу.
31
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
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&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.
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.
Рисунок 35
Секретный контент больше не виден
4.
Упражнение 3: кастомизация UI выбора провайдеров входа
Существуют различные сценарии, в которых вы хотите предоставлять пользователям свою
страницу выбора провайдера входа. Например, это может быть нужно в случае, если вы
хотите сделать какие-то страницы доступными не аутентифицированным пользователям. В
последнем упражнение мы посмотрим, как просто это можно сделать.
4.1.
Задание 1: размещение страницы входа в рамках веб-приложения
59. Скопируйте готовое решение Ex02 в папку Source\Ex03-CustomSignInExperience\Begin.
34
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 36
Копирование законченного упражнения
60. Перейдите на портал управления ACS.
61. Перейдите в раздел Application Integration.
35
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Рисунок 37
Application Integration
62. Выберите ваше приложение (WebSiteACS).
Рисунок 38
Login 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.
Рисунок 39
Login 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;
37
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
position: relative;
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.
…
</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
Кастомизированная страница входа
39
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
5.
Заключение
В ходе данной лабораторной работы вы узнали как:



Настроить аутентификацию через несколько провайдеров входа
Создать правила авторизации для вашего приложения
Кастомизировать UI выбора провайдеров входа
Данная лабораторная работа показывает базовые возможности и идеи, которые можно легко
развить в ваших приложениях. ACS предоставляет приложениям удобный доступ к пользователям
из разных систем входа, таким как Facebook, Google, Yahoo! И Live ID. Он имеет богатый набор
возможностей для интеграции не только с сайтами, но и сервисами и другими партнерами входа.
Выполнять продвинутые операции можно с помощью специального API.
40
Microsoft Tech∙Ed Russia 2011. Лабораторная работа.
Основы разработки с Access Control Service 2.0.
Download