我有 2 个网站集,我们只称它们为 A 和 B。在 AI 中有一个我想跨多个网站集同步的一些内容的列表。我创建了一个自定义内容查询 Web 部件来查询数据,但我遇到了障碍。
因为用户级帐户根本无权访问站点 A,而且我不希望他们在任何级别访问此站点,所以当我的 Web 部件在站点 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 上下文中运行。