Аутентификация на сайте с помощью Live ID и Windows Live Tools

среда, 10 декабря 2008, Александр Краковецкий

В предыдущем посте я рассказывал о том, как внедрить Live ID аутентификацию у себя на сайте с помощью Live Identity SDK. Сегодня поговорим о том, как внедрить Live ID с помощью Windows Live Tools for Microsoft Visual Studio.

Первое, что нужно сделать, это скачать входят:

ASP.NET Server Controls:

  • Contacts
  • IDLoginStatu
  • IDLoginView
  • Map
  • MessengerChat
  • SilverlightStreamingMediaPlayer

Visual Studio Project Template:

  • ASP.NET Windows Live Web Site
  • Windows Live Web Application
  • Windows Live Web Role (template for Windows Azure Cloud Projects)

Изменения в November 2008 CTP:

  • All the controls are now compatible with trust policy of Windows Azure
  • New templates - Windows Live Web Application and Windows Live Web Role. Windows Live Web Role works for creating web sites web role in a Windows Azure Cloud Project.
  • SilverlightStreamingMediaPlayer Control upgraded to Silverlight 2.0 Tools.

Требования к использованию Windows Live Tools:

This CTP release only targets English (United States).

Operating System

  • Microsoft Windows XP SP 2
  • Microsoft Windows Vista

Development Tools

  • Microsoft Visual Studio 2008
  • Microsoft Visual Web Developer 2008
  • Silverlight Tools for VS 2008

Нам понадобятся контролы IDLoginStatus и IDLoginView.

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

У нас есть веб-приложение, в котором реализовано стандартная аутентификация пользователя (страницы CreateUser.aspx, login.aspx и база данных ASPNETDB.MDF в папке App_Data). Сценарий типичный: пользователь должен залогиниться, если аккаунта у него нет - он может его зарегистрировать. После чего информация об аккаунте будет добавлена в локальную базу данных.

Страница Default.aspx имеет следующий код:

        Welcome
           
            |
           
       

       
           
                You are not logged in. Please log in.
           

           
                You are now logged in

                You can now access your private data!

           

       

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

Интеграция с Live ID

Добавим следующий код на страницу Default.aspx:

       
       

        AutomaticallyAssociateAuthentication="True"
            PromptOnAssociation="True">
           
                This is anonymous template
           
           
                Associate your user name for this Website with your Windows Live ID?

               
               

               
               

           
           
               
                This template is for ASP.NET logged in users
           
           
               
               

               

                This template is for Windows Live ID signed in users
           
           
                This template is for users logged in both Windows Live ID and ASP.NET membership

               
           
       

Контрол IDLoginStatus по своей функциональности очень похож на "родителя" LoginStatus, но заточен под Live службы.

Контрол IDLoginView рассмотрим подробнее:

Шаблоны IDLoginView

AnonymousTemplate

Шаблон, который отображается для неавторизированных пользователей.

LoggedInTemplate

Шаблон, который отображается, если пользователь выполнил вход с помощью ASP.NET профайла.

LoggedInIDTemplate

Шаблон, который отображается, если пользователь выполнил вход с помощью Windows Live ID.

LoggedInAllTemplate

Шаблон, который отображается, если пользователь выполнил вход с помощью ASP.NET профайла и Windows Live ID.

AssociateTemplate

Шаблон, который отображается для пользователей, которые не ассоциировали свой локальный ASP.NET профайл с Windows Live ID.

Свойства IDLoginView

Свойство

Описание

ApplicationIDConfigKey

Обязательное

Название ключа , который содержит значение Application ID вашего приложения. По умолчанию, значение равно wll_appid. Если используется значение по умолчанию, свойство можно упустить.

ApplicationSecretConfigKey

Обязательное

Название ключа , который содержит значение Application Secret для вашего приложения. По умолчанию, значение равно wll_secret. Если используется значение по умолчанию, свойство можно упустить.

AutomaticallyAssociateAuthentication

Логическое

Если true, то контрол запросит ассоциировать Windows Live ID и ASP.NET профайл. Значение по умолчанию - true.

AutomaticallyConvertAuthentication

Логическое

Используется для единого входа. Если true, то контрол IDLoginView попытается при входе преобразовать Windows Live ID аутентификацию в ASP.NET аутентификацию, установив FormsAuthentication.SetAuthCookie. Значение по умолчанию - true.

PromptOnAssociation

Логическое

Если true, то IDLoginView отобразит AssociateTemplate и попросит подтвердить процесс ассоциации профайлов. Если false, IDLoginView сделает это автоматически.

Таким образом, мы получаем Application ID и Application Secret (как это сделать, написано в предыдущем посте), устанавливаем свойства AutomaticallyAssociateAuthentication="True" и PromptOnAssociation="True", задаем шаблоны.

Запускаем приложение и плучаем максимум удовольствия при минимуме затрат!

P.S. В аттаче смотрите пример веб-приложения.

Компании из статьи


Microsoft Украина


Сайт:
http://www.microsoft.com/ukr/ua/

Microsoft Украина Украинское подразделение компании Microsoft.

Ищите нас в интернетах!

Комментарии

Свежие вакансии