![]() |
#13 |
Участник
|
Добрый день! Заменил я строку доступа к SP.
А где должна выполняться инперсонализация, здесь же в коде на CRM или надо внедрять код web-сервиса на SP. Вот код с http://vspug.com/tanujashares/2007/0...repoint-2007/: //============================================================================= SPSite site = new SPSite("SiteCollection_Url"); SPWeb web = site.OpenWeb(); SPUser user = web.AllUsers["User_Name"]; SPUserToken token = user.UserToken; SPSite impersonatedSiteCollection = new SPSite("SiteCollection_Url", token); //============================================================================= //====Код на стороне CRM для подключения к web-сервису SP using SP = Microsoft.SharePoint.Client; using Microsoft.SharePoint.Client; namespace OrgName.Crm.Realty.Common { public class CrmTemplatePage : CrmPage { protected void ConnectSP() { string currentUser="User_Name"; //это можно получить из SQL, используя функцию SUSER_SNAME() string currentDomain="Domain"; string siteUrl = "http://sps10/DocLib/"; string nameLib = "Договоры"; ClientContext clientContext = new ClientContext(siteUrl); clientContext.Credentials = new System.Net.NetworkCredential("user", "passw", "domain"); // с этим удается "провалиться" в SP List list = clientContext.Web.Lists.GetByTitle(nameLib); clientContext.Load(list); clientContext.ExecuteQuery(); //<====Здесь идет ошибка 401 }}} Если на стороне CRM - то как "скрещивать" эти два фрагмента кода? Последний раз редактировалось lvi15; 20.12.2011 в 12:19. |
|
|
|