140 likes | 322 Views
Авторизация на сайте SharePoint 2010 с помощью Windows Phone 7.5. Бельский Сергей MVP SharePoint Server | MCP | MCTS | MCPD http:// it-club.in.ua/personal/sbelskiy/blog | http://it-club.in.ua/sites/moss. Agenda. Сценарии доступа Сценарии SharePoint API Auth
E N D
Авторизация на сайте SharePoint 2010 с помощью Windows Phone 7.5 Бельский Сергей MVPSharePoint Server | MCP | MCTS | MCPD http://it-club.in.ua/personal/sbelskiy/blog| http://it-club.in.ua/sites/moss
Agenda • Сценарии доступа • Сценарии SharePoint API Auth • Использование классов и методов аутентификации • Пример использования проверки подлинности FBA • Получение персональных данных и редактирование их
Сценарии доступа Существуют два сценария: • FBA (Авторизация на основе форм) • UAG (Использование прокси-сервера для авторизации) SharePoint
FBA • ВключениеClaims Authentication • /_vti_bin/Authentication.asmx • enableHttpCookieContainer="true" 1 Обращение к сервису authentication.asmx Запрос credentials Отправка credentials Возвращение cookie Прикрепление cookie к последующим запросам 2 3 4 5
UAG • Публикация сайта с помощью UAG сервера (http://technet.microsoft.com/en-us/library/hh180841.aspx ) UAG Server SharePoint Server External / Internet DMZ Internal / Intranet
SharePoint API Auth сценарии • *ПоддержкаUAG • **Поддержка зависит от дизайна
Использование классов и методов аутентификации • Класс FBAAuthenticatedEventArgsнаследуется от EventArgs. Этот класс используется для передачи CookieContainer после проверки подлинности.CookieContainer будет содержать HttpOnly сведения о проверке подлинности. public void Authenticate() { System.UriauthServiceUri = new Uri(AuthenticationServiceURL); HttpWebRequestspAuthReq = HttpWebRequest.Create(authServiceUri) as HttpWebRequest; spAuthReq.CookieContainer = cookieJar; spAuthReq.Headers["SOAPAction"] = "http://schemas.microsoft.com/sharepoint/soap/Login"; spAuthReq.ContentType = "text/xml; charset=utf-8"; spAuthReq.Method = "POST"; spAuthReq.BeginGetRequestStream(new AsyncCallback(spAuthReqCallBack), spAuthReq); } • CookieJar сохраняет объект CookieContainer для использования доступа к защищенным ресурсам SharePoint public static CookieContainerCookieJar { get; set; }
Авторизация с помощью FBA DEMO Создание Silverlight for Phone приложения, создание класса авторизации к SharePoint 2010
Получение персональных данных • Для получения персональных данных нужно использовать Service _vti_bin/UserGroup.asmx SPUserService.UserGroupSoapClientlist = new SPUserService.UserGroupSoapClient(); list.CookieContainer= App.CookieJar; list.GetUserInfoCompleted+= new EventHandler<SPUserService.GetUserInfoCompletedEventArgs>(list_GetUserInfoCompleted); list.GetUserInfoAsync(“domain\LoginName");
Редактирование персональных данных • Для редактирования персональных данных нужно использовать Service _vti_bin/UserGroup.asmx SPUserService.UserGroupSoapClientlists = new SPUserService.UserGroupSoapClient(); lists.CookieContainer= App.CookieJar; lists.UpdateUserInfoCompleted+= new EventHandler<AsyncCompletedEventArgs>(lists_UpdateUserInfoCompleted); lists.UpdateUserInfoAsync(Domain\LoginName, UserName, Email, Note);
Редактирование персональных данных DEMO Создание сервиса для получения персональных данных и их редактирование
Итоги • Приложение SharePoint 2010 должно поддерживать мульти авторизацию для использования возможностей Windows Phone • Windows Phone приложения свободно могут обращаться к удалённым SharePoint API для управления контентом • API авторизации довольно просты в использовании
Полезные ресурсы • Windows Phone Developer Tools • http://create.msdn.com/en-us/home/getting_started • SharePoint 2010 and Windows Phone 7 Training Course • http://msdn.microsoft.com/en-us/SharePointAndWindowsPhone7TrainingCourse • Building Windows Phone 7 applications with SharePoint 2010 Products and Unified Access Gateway (UAG) • http://technet.microsoft.com/en-us/library/hh180841.aspx • My Blog • http://it-club.in.ua/personal/sbelskiy/blog • Resources for MOSS • http://it-club.in.ua/sites/moss
Спасибо Бельский Сергей MVPSharePoint Server | MCP | MCTS | MCPD http://it-club.in.ua/personal/sbelskiy/blog| http://it-club.in.ua/sites/moss