У меня есть 2 коллекции сайтов, давайте просто назовем их A и B. В A у меня есть список некоторого контента, который я хочу синхронизировать между несколькими семействами сайтов. Я создал настраиваемую веб-часть запроса контента, которая запрашивает данные, но я наткнулся на препятствие.
Поскольку учетные записи уровня пользователя вообще не имеют доступа к сайту A, и я не хочу, чтобы они имели доступ к этому сайту на любом уровне, я получаю сообщение об ошибке отказа в доступе, когда моя веб-часть работает на сайте B. способ изменить контекст, в котором работает RunWithElevatedPrivileges?
Мой текущий код, который запускается из семейства сайтов B, выглядит так:
ClientContext clientContext = new ClientContext(siteAUrl);
SP.List oList = clientContext.Web.Lists.GetByTitle(listName);
CamlQuery query = new CamlQuery();
//Add View, Execute Query, etc.
return results;
Если я заключу это в SPSecurity.RunWithElevatedPrivileges, он будет работать с повышенными правами в контексте B семейства сайтов, тогда как я бы предпочел, чтобы он работал в контексте A семейства сайтов.