Показать сообщение отдельно
Старый 20.12.2011, 12:17   #13  
lvi15 is offline
lvi15
Участник
 
8 / 10 (1) +
Регистрация: 12.11.2009
Добрый день! Заменил я строку доступа к 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.