лаб. Лаб 1_3. Лабораторна робота 3 Вивчення
Скачать 151 Kb.
|
1 2
using your information card div > < CardSpace : CardButton id = " cardButton " runat = " server " LoginButtonType = "Image" EnableImage = " false " LoginButtonImageUrl = " images / informationcard.jpg " ImageUrl = " images / informationcard.jpg " LoginResult = " NewAccount " ChooseUsernameUrl = " / ChooseUsername.aspx " Orientation = " Horizontal " BorderPadding = " 0 " BorderStyle = " None " Width = " 100 %" / > Примітка: елемент управління CardButton має кілька атрибутів , якими можна маніпулювати для настройки його поведінки , в т.ч.: 1 . LoginResult . Тип кнопки , яка буде згенерована при візуалізації сайту. Можливі значення включають : " Authenticate " ( для аутентифікації ) . " New Account " ( для реєстрації ) " Associate " ( для асоціювання з іншим сайтом , на якому у користувача вже заведена інформаційна карта , яку він хоче використати для доступу до нашого сайту ) 2 . ChooseUsernameUrl . URL сторінки , на яку користувач буде перенаправлений при створенні нового облікового запису. Сторінка , розташована за вказаною адресою , повинна надавати користувачеві можливість ввести ім'я для закладу облікового запису в ASP.NET Membership. Це необхідно , оскільки елемент управління CardSpace завжди пов'язує інформаційну карту користувача з його обліковим записом в ASP.NET Membership . Примітка: більш докладну інформацію про код HTML / JavaScript , який CardButton додає в текст WebForm , см. в Додатку. 6.Создайте сторінку " ChooseUser Name " Примітка: елементи управління CardSpace завжди связивют інформаційну карту користувача з його обліковим записом в ASP.NET Membership . Для авторизації користувач повинен буде надати ім'я облікового запису ASP.NET Membership , яка буде створена під час реєстрації. На цьому етапі з використанням елемента керування CardSpace ви створите сторінку " Choose User Name " , яка дозволить користувачеві вибирати ім'я для його облікового запису. a.В вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть Add New Item . З'явиться діалогове вікно Add New Item . b.Із списку шаблонів , запропонованих Visual Studio , виберіть Web Form і як імені файлу введіть ChooseUsername.aspx . c . Встановіть прапор Select Master Page і натисніть кнопку Add. d.В діалоговому вікні Select a Master Page виберіть Site.master і натисніть OK. e.Чтоби додати елемент управління ChooseUsername , вставте наступний код на ASP.NET внутрьMainContentPlaceHolder : < cardspace : ChooseUsername ProfileUrl = " Default.aspx " runat = " server " id = " CN1 " / > Примітка: Елемент управління ChooseUsername дозволяє користувачеві задати ім'я для облікового запису , яку пов'язують з інформаційною карткою. При візуалізації він виглядає так , як показано нижче. Кастомний елемент управління ChooseUsername 7 . Результати a.Виполнів цю вправу , Ви додасте на сайт підтримку реєстрації з використанням технологііCardSpace Сторінка реєстрації з підтримкою CardSpace 8 . Верифікація Примітка: Щоб переконатися в тому , що при додаванні можливості реєстрації з використанням CardSpace ви не допустили помилок , виконайте такі дії : a.Установіте сторінку Register.aspx в якості дефолтной на сайті. Для цього клацніть по ній в окнеSolution Explorer правою кнопкою миші і виберіть у контекстному меню Set As Start Page . b.Виполніте збірку рішення. c.Нажміте F5 , щоб запустити додаток під IIS. d.Нажміте на зображення з підписом Information Card . У вікні виберіть опцію "Yes , choose a card to send " . Примітка: Якщо після клацання на зображення Information Card нічого не відбудеться , перевірте , що доступ до сайту здійснюється через SSL ( URL починається з https ) . Примітка: Може з'явитися вікно з вступної інформацією про технології Windows CardSpace , після прочитання якої ви перейдете в основне вікно. Крім того , в системі вже можуть бути створені інформаційні карти. У цьому випадку вам потрібно буде створити нову і придумати для неї унікальне ім'я. Identity Selector ( "перемикач ідентичності " ) e.Чтоби створити нову карту , подвійним клацанням клікніть по кнопці Add a card СТВОРЕННЯ КАРТИ f.Виберіте опцію Create a Personal card . З'явиться екран для створення " персональної " ( self - issued ) карти g.Задайте ім'я карти , заповніть необхідні поля та натисніть Save . Буде створена нова карта . Нова карта створена h.Виберіте щойно створену карту і натисніть Send . З'явиться екран із запитом подтвержденіянамеренія відправити карту. Збільшити Зображення Екран підтвердження i.Чтоби послати карту , натисніть Send . j . Після відправки карти ви будете перенаправлені на сторінку " Choose User Name " . Перевірка валідності імені облікового запису k.В якості імені користувача введіть BradSutton і натисніть Check Username . Кастомний елемент управління ChooseUsername перевірить валідність імені. У разі успішної перевірки буде активована кнопка Change Username . Ім'я користувача є допустимим l.Для завершення процесу чого після чого натисніть Change Username . Ви будете перенаправлені на дефолтну сторінку сайту. m.Откройте Windows PowerShell ( меню Start | All Programs | Windows PowerShell 1.0) n.Чтоби перейти в папку , де розташований файл зі скриптом , виконайте команду chdir \ dinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ PowerShellTests \ . o.Запустіте скрипт verify.ps1 , передавши в якості 1 -го параметра ім'я користувача , яке ви задали на кроці k . Наприклад , якщо ви ввели " BradSutton " як ім'я , для запуску скрипта використовуйте наступний рядок. . \ verify.ps1 BradSutton Примітка: Якщо ви не допустили помилок при виконанні вправи , скрипт виведений на екран деталі карти , пов'язаної з обліковим записом користувача. Примітка: Щоб переконатися в коректності виконання вправи , ви можете подивитися рішення , відповідне результату , який ви повинні отримати в результаті. Для запуску файлу рішення виконайте наступні кроки: p.Откройте файл Restaurants.CardSpace.sln , асположенний в папці C: \ DinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ end ) . q.В вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть пункт менюProperty Pages. r.На вкладці Start Options виберіть опцію Use custom server і введіть у текстове поле base URLстрочку " https://www.fabrikam.com/DinnerNowLabs/RegisterWithCardSpace.begin " . s . Щоб закрити вікно редактора властивостей , натисніть кнопку OK. t.Виполніте збірку рішення. u.Когда Ви запустіть програми для налагодження натисканням клавіші F5 , Visual Studio відкриє окнобраузера і перейде по посиланню, зазначеної Вами в поле base URL Вправа 2 Використання CardSpace для аутентифікації користувачів на сайті сценарій У цій вправі ви вносите існуючу Web- сторінку , на якій аутентифікація пользователейосуществляется з використанням механізму ASP.NET Membership - провайдера. В результаті Ваших змін у користувачів з'явиться можливість заходити на сайт з використанням інформаційних карт CardSpace . вихідні матеріали • База даних ASP.NET Membership.Включает таблиці , необхідні для ASP.NET SqlMembershipProvider , а також 2 таблиці для зберігання інформації CardSpace . • Файл рішення Visual Studio.Включает Web- сайт, що складається Web -сторінок для реєстрації , аутентифікації іавторізаціі користувачів і навігації по захищеному простору сайту. Для управління членством на сайті використовується ASP.NET SqlMembershipProvider . • кастомними елементи управління CardSpace.Інкапсуліруют логіку для взаємодії з CardSpace API . Ці елементи будуть використані для додавання на сайт можливості використання CardSpace . завдання Інструкції Наступні завдання виконуються на комп'ютері. 1 . Відкрийте файл рішення Visual Studio Примітка: Зайдіть на машину SOA17 під обліковим записом Administrator, використовуючи парольPass @ word1 . a.Еслі необхідно , відкрийте Microsoft Visual Studio 2005 : Start | All Programs | Microsoft Visual Studio 2005 b.Откройте файл рішення Restaurants.CardSpace.sln в каталогеC : \ DinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ begin . Рішення містить Web- сайт , на якому реєстрація користувачів здійснюється з використанням механізму ASP.NET Membership - провайдера. 2 . Запустіть Web -сайт під IIS 7 Примітка: На цьому етапі ви налаштуєте конфігурацію сайту з тим , щоб він запускався під IIS 7 . Необхідність цієї конфігурації обгрунтована тим , вбудований в Visual Studio Web сервер не підтримує протокол Secure Socket Layer (SSL ), необхідний длявикористання технології CardSpace . a.В вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть пункт меню Property Pages . b.На вкладці Start Options виберіть опцію Use custom server і введіть у текстове поле base URL рядок " https://www.fabrikam.com/DinnerNowLabs/RegisterWithCardSpace.begin " . c.Чтоби закрити вікно редактора властивостей , натисніть кнопку OK. Коли Ви запустіть додатки дляотладкі натисканням клавіші F5 , Visual Studio відкриє вікно браузера і перейде по посиланню , зазначеної Вами в поле base URL 3.Модіфіціруйте страніцуаутентіфікаціі користувачів , додавши поддержкуCardSpace Примітка: на цьому етапі ви вносите сторінку авторизації користувачів , додавши елемент управління CardSpace . Це дозволить користувачам сайту використовувати для аутентифікації інформаційну карту CardSpace . a.Откройте сторінку SignIn.aspx для редагування коду розмітки. b.Найдіте TO- DO коментар: c . Щоб додати кастомний елемент управління CardButton , вставте у файл після TO- DOкомментарія наступний код на ASP.NET : Sign in using your information card div > < CardSpace : CardButton id = " cardButton1 " runat = " server " SuccessLoginUrl = " / " LoginButtonText = " Sign In " LoginButtonType = "Image" EnableImage = " false " LoginButtonImageUrl = " images / informationcard.jpg " LoginResult = " Authenticate " Orientation = " Horizontal " BorderPadding = " 0 " BorderStyle = " None " Width = " 100 %" / > Примітка: елемент управління CardButton має кілька атрибутів , якими можна маніпулювати для настройки його поведінки , в т.ч.: • LoginResult . Тип кнопки , яка буде згенерована при візуалізації сайту. Використовуйте тип " Authenticate " на сторінці для аутентифікації користувачів на сайті • SuccessLoginUrl . URL сторінки , на яку користувач буде перенаправлений при успішному проходженні аутентифікації. c . збережіть зміни Примітка: більш докладну інформацію про код HTML / JavaScript , який CardButton додає в текст WebForm , см. в Додатку. 4 . Результати a.Виполнів цю вправу , Ви додасте на сайт підтримку аутентифікації користувачів з використанням технології CardSpace Сторінка аутентифікації з підтримкою CardSpace 5 . Верифікація Примітка: Щоб переконатися в тому , що при додаванні можливості аутентифікації з використанням CardSpace ви не допустили помилок , виконайте такі дії : a.Установіте сторінку Register.aspx в якості дефолтной на сайті. Для цього клацніть по ній в окнеSolution Explorer правою кнопкою миші і виберіть у контекстному меню Set As Start Page . b.Виполніте збірку рішення. c.Нажміте F5 , щоб запустити додаток під IIS. Web- сторінка реєстрації d.Нажміте на зображення з підписом Information Card і дотримуйтесь інструкцій у вікні IdentitySelector . Після завершення процедури реєстрації відбудеться автоматична аутентифікація і перехід на захищене з'єднання Примітка: Якщо після клацання на зображення Information Card нічого не відбудеться , перевірте , що доступ до сайту здійснюється через SSL ( URL починається з https ) . e.Вийдіте -під свого облікового запису , натиснувши sign out . Як показано на малюнку , ви будете перенаправлені назад на сторінку аутентифікації. Якщо автоматичний перехід не відбудеться, натисніть sign in . Сторінка аутентифікації з підтримкою CardSpace f.Нажміте на кнопку Information Card , щоб відкрити вікно Windows CardSpace IdentitySelector . Windows CardSpace Identity Selector g . Виберіть карту , яку ви створили в процесі реєстрації. Після завершення процедури реєстрації відбудеться автоматична аутентифікація і перехід на захищене з'єднання Примітка: Щоб переконатися в коректності виконання вправи , ви можете подивитися рішення , відповідне результату , який ви повинні отримати в результаті. Для запуску файлу рішення виконайте наступні кроки: h.Откройте файл Restaurants.CardSpace.sln , асположенний в папкеC : \ DinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ end ) . I. У вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть пункт менюProperty Pages. j.На вкладці Start Options виберіть опцію Use custom server і введіть у текстове поле base URLстрочку " https://www.fabrikam.com/DinnerNowLabs/RegisterWithCardSpace.begin " . k . Щоб закрити вікно редактора властивостей , натисніть кнопку OK. l.Виполніте збірку рішення. m.Когда Ви запустіть програми для налагодження натисканням клавіші F5 , Visual Studio відкриє окнобраузера і перейде по посиланню, зазначеної Вами в поле base URL Вправа 3 Асоціювання інформаційної карти CardSpace з існуючою обліковим записом ASP.NET Membership сценарій У цій вправі ви вносите існуючу Web- сторінку , на якій аутентифікація пользователейосуществляется з використанням двох механізмів - ASP.NET Membership - провайдера і Windows CardSpace . В результаті Ваших змін у користувачів з'явиться можливість асоціювати свої облікові записи ASP.NET Membership з одного або більше інформаційних карт CardSpace , щоб потім використовувати для входу на сайт інформаційні карти. вихідні матеріали • База даних ASP.NET Membership.Включает таблиці , необхідні для ASP.NET SqlMembershipProvider , а також 2 таблиці для зберігання інформації CardSpace . • Файл рішення Visual Studio.Включает Web- сайт, що складається Web -сторінок для реєстрації , аутентифікації іавторізаціі користувачів і навігації по захищеному простору сайту. Для управління членством на сайті використовується ASP.NET SqlMembershipProvider . • кастомними елементи управління CardSpace.Інкапсуліруют логіку для взаємодії з CardSpace API . Ці елементи будуть використані для додавання на сайт можливості використання CardSpace . завдання Інструкції Наступні завдання виконуються на комп'ютері. 1 . Відкрийте файл рішення Visual Studio Примітка: Зайдіть на машину SOA17 під обліковим записом Administrator, використовуючи парольPass @ word1 a.Еслі необхідно , відкрийте Microsoft Visual Studio 2005 : Start | All Programs | Microsoft Visual Studio 2005 b . Відкрийте файл рішення Restaurants.CardSpace.sln в каталогеC : \ DinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ begin . Рішення містить Web- сайт , на якому реєстрація користувачів здійснюється з використанням механізму ASP.NET Membership - провайдера. 2 . Запустіть Web -сайт під IIS 7 Примітка: На цьому етапі ви налаштуєте конфігурацію сайту з тим , щоб він запускався під IIS 7 . Необхідність цієї конфігурації обгрунтована тим , вбудований в Visual Studio Web сервер не підтримує протокол Secure Socket Layer (SSL ), необхідний длявикористання технології CardSpace . a.В вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть пункт меню Property Pages . b.На вкладці Start Options виберіть опцію Use custom server і введіть у текстове поле base URLстрочку " https://www.fabrikam.com/DinnerNowLabs/RegisterWithCardSpace.begin " . c.Чтоби закрити вікно редактора властивостей , натисніть кнопку OK. Коли Ви запустіть додатки дляотладкі натисканням клавіші F5 , Visual Studio відкриє вікно браузера і перейде по посиланню , зазначеної Вами в поле base URL 3.Модіфіціруйте сторінку управленіяпрофілем користувача , додавши возможностьсвязыванияинформационных картCardSpace з обліковими запісяміASP.NET Membership Примітка: на цьому етапі ви вносите сторінку авторизації користувачів , додавши елемент управління CardSpace . Це дозволить користувачам сайту пов'язувати інформаційні карти CardSpace з обліковими записами ASP.NET Membership . a.Откройте сторінку Profile.aspx для редагування коду розмітки. b.Найдіте TO- DO коментар: c . Щоб додати кастомний елемент управління CardButton , вставте у файл після TO- DOкомментарія наступний код на ASP.NET : Associate an information card div > < CardSpace : CardButton ID = " cardButton " runat = " server " LoginButtonText = " Associate Card " LoginButtonType = "Image" EnableImage = " false " LoginButtonImageUrl = " / images / informationcard.jpg " LoginResult = " Associate " ProfileUrl = " Profile.aspx " Orientation = " Horizontal " BorderPadding = " 0 " BorderStyle = " None " Width = " 100 %" / > Примітка: елемент управління CardButton має кілька атрибутів , якими можна маніпулювати для настройки його поведінки , в т.ч.: • LoginResult . Тип кнопки , яка буде згенерована при візуалізації сайту. Використовуйте тип " Associate " для підтримки можливості зв'язування інформаційних карт CardSpace з обліковими записами ASP.NET Membership • SuccessLoginUrl . URL сторінки , на яку користувач буде перенаправлений при успішному проходженні аутентифікації. Примітка: більш докладну інформацію про код HTML / JavaScript , який CardButton додає в текст WebForm , см. в Додатку. 4.Модіфіціруйте сторінку управленіяпрофілем користувача , додавши функцію відображення асоційованих інформаційних картCardSpace Примітка: на цьому етапі ви вносите сторінку авторизації користувачів , додавши елемент управління CardSpace . Цей елемент керування відображає список інформаційних карт , пов'язаних з поточною обліковим записом. a.Откройте сторінку Profile.aspx для редагування коду розмітки. b.Найдіте TO- DO коментар: c . Щоб додати кастомний елемент управління CardProfile , вставте у файл після TO- DOкомментарія наступний код на ASP.NET ( Це дозволить користувачам сайту переглядати список інформаційних карт і видаляти карти із списку) : d . Збережіть зміни . 5 . Результати a.Виполнів цю вправу , Ви додасте на сайт можливість асоціювати свої облікові запісіASP.NET Membership з одного або більше інформаційних карт CardSpace , щоб потім використовувати для входу на сайт будь-яку з цих карт Сторінка управління профілем. Користувач може пов'язувати інформаційні карти зі своїм обліковим записом 6 . Верифікація Примітка: Щоб переконатися в тому , що при додаванні можливості асоціювання облікового запису користувача з картами CardSpace ви не допустили помилок , виконайте такі дії : a.Установіте сторінку Register.aspx в якості дефолтной на сайті. Для цього клацніть по ній в окнеSolution Explorer правою кнопкою миші і виберіть у контекстному меню Set As Start Page . b.Виполніте збірку рішення. c.Нажміте F5 , щоб запустити додаток під IIS. Web- сторінка реєстрації d.Зарегістріруйтесь на сайті без використання інформаційної карти. Для цього заповніть реєстраційну форму та натисніть Submit . Після завершення процедури реєстрації відбудеться автоматична аутентифікація і перехід на захищене з'єднання Примітка: У полі User Name введіть ідентифікатор , відмінний від того , яким ви користувалися в попередніх вправах. Інакше з'явиться повідомлення про помилку. e.Нажміте Continue . f . Щоб потрапити на сторінку управління профілем , натисніть на ім'я користувача , розташоване на верхній панелі Профіль користувача , з яким не асоційоване жодної інформаційної карти g.Нажміте на кнопку Information Card , щоб зв'язати інформаційну карту з поточною обліковим записом користувача. Примітка: Якщо після клацання на зображення Information Card нічого не відбудеться , перевірте , що доступ до сайту здійснюється через SSL ( URL починається з https ) . h.Есліу вас є інформаційна карта , які ви не використовували в попередній вправі , виберіть її та натисніть Send . В іншому випадку створіть нову інформаційну карту , дотримуючись інструкції , описаної у вправі " Використання CardSpace для реєстрації користувачів " , і пошліть нову карту. Ваша карта з'явиться в таблиці Associated Cards table . Профіль користувача з асоційованої картою CardSpace Note: Оскільки інформаційна карта може бути пов'язана тільки з одним обліковим записом користувача на цьому сайті , ви не можете використовувати ту ж саму карту , що і в попередній вправі. i . Щоб перевірити можливість аутентифікації з використанням CardSpace , натисніть sign out на верхній панелі для виходу з облікового запису. Після цього зайдіть на сайт , використовуючи асоційовану з профілем інформаційну карту. j.Чтоби видалити обліковий запис з профілю , виберіть її в таблиці AssociatedCards на страніцепрофіля користувача і натисніть Unlink Selected Card ( s ) . Примітка: Щоб переконатися в коректності виконання вправи , ви можете подивитися рішення , відповідне результату , який ви повинні отримати в результаті. Для запуску файлу рішення виконайте наступні кроки: k.Откройте файл Restaurants.CardSpace.sln , асположенний в папкеC : \ DinnerNow \ Labs \ Cardspace \ Ex01 - RegisterWithCardSpace \ end ) . l.В вікні Solution Explorer правою кнопкою миші клацніть по вузлу Web site і виберіть пункт меню Property Pages . m.На вкладці Start Options виберіть опцію Use custom server і введіть у текстове поле base URLстрочку " https://www.fabrikam.com/DinnerNowLabs/RegisterWithCardSpace.begin " . n . Щоб закрити вікно редактора властивостей , натисніть кнопку OK. o.Виполніте збірку рішення. p.Когда Ви запустіть програми для налагодження натисканням клавіші F5 , Visual Studio відкриє окнобраузера і перейде по посиланню, зазначеної Вами в поле base URL додаток завдання Інструкції Деталі реалізації елемента управління CardButton Примітка: Елемент управління CardButton при приміщенні на web - форму ASP.NET буде виконувати наступні функції: a.Вспомогательние функції на JavaScript. Наприклад , можливість визначити , чи підтримує браузертехнологію CardSpace . Javascript : function AreCardsSupported ( id ) { var IEVer = -1 ; var xmlToken = document.getElementById ( id ) ; if ( navigator.appName == ' Microsoft Internet Explorer ' ) if ( new RegExp (' MSIE ( [0-9 ] { 1 , } [ \ .0 - 9 ] { 0 , } ) ' ) . Exec ( navigator.userAgent ) ! = Null ) IEVer = parseFloat ( RegExp. $ 1 ) ; if ( IEVer > = 7 && xmlToken && xmlToken.issuerPolicy ! = ' undefined ' ) return true ; if ( IEVer < 0 && navigator.mimeTypes && navigator.mimeTypes.length ) { x = navigator.mimeTypes [' application / xinformationcard '] ; if ( x && x.enabledPlugin ) return true ; } return false ; } b.Добавіт тег, необхідний для виклику CardSpace API при натисканні на елемент CardButton . Цей тег розташований всередині тега |