跨应用程序池的SharePoint列表访问

Phi*_*ffy 1 c# sharepoint web-applications application-pool elevated-privileges

我有一个要求,我需要能够从位于我的Web前端(WFE)的应用程序页面访问位于管理中心的列表.我遇到的问题是我的WFE的应用程序池用户无法访问SharePoint_AdminContent数据库,所以我被拒绝访问,他们都有自己的应用程序池

在日志中显示以下内容:

  • 恢复处理身份
  • SqlConnection.Open之前的当前用户:名称:SharePointDemo\SPContentPool SID:S-1-5-20 ImpersonationLevel:None
  • SqlConnection.Open之后的当前用户:名称:SharePointDemo\SPContentPool:S-1-5-20 ImpersonationLevel:无
  • SQL Server实例"SPNSQL"上数据库"SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275"中用户"SPContentPool"的SQL数据库权限不足.SQL Server的其他错误信息包含在下面.对象'proc_EnumLists',数据库'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275',架构'dbo'上的EXECUTE权限被拒绝.

我试图运行一些特权,以及尝试使用SharePoint\System用户令牌的Daniel Larsons方法(http://daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!1919.entry),但它似乎只是提升为高为应用程序池.

我希望有一种简单的方法可以模拟管理Web应用程序的应用程序池,但是仍然无法找到这样做的方法......或者将进程标识更改为可以访问的进程标识

感谢您的任何想法,想法或解决方案!

菲尔

小智 6

您应该尝试使用List Web服务来访问列表项.并在连接到Web服务之前设置凭据.