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

标签 c# sharepoint web-applications application-pool elevated-privileges

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

在日志中显示以下内容:

  • Reverting to process identity
  • Current user before SqlConnection.Open: Name: SharePointDemo\SPContentPool SID: S-1-5-20 ImpersonationLevel: None
  • Current user after SqlConnection.Open: Name: SharePointDemo\SPContentPool: S-1-5-20 ImpersonationLevel: None
  • Insufficient SQL database permissions for user 'SPContentPool' in database 'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275' on SQL Server instance 'SPNSQL'. Additional error information from SQL Server is included below. The EXECUTE permission was denied on the object 'proc_EnumLists', database 'SharePoint_AdminContent_53169fb3-137c-44b2-b90e-961b656e4275', schema 'dbo'.

我已尝试使用提升的权限运行以及尝试使用 SharePoint\System 用户 token 的 Daniel Larsons 方法 ( http://daniellarson.spaces.live.com/blog/cns!D3543C5837291E93!1919.entry ),但它似乎只提升到与应用程序池一样高。

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

感谢收到任何想法、想法或解决方案!

菲尔

最佳答案

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

关于c# - 跨应用程序池的 SharePoint 列表访问,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/868155/

相关文章:

SharePoint 和 Firefox 3

.net - 无法在线将 SaveBinaryDirect 与 Sharepoint 一起使用总是返回 403

发布后,SharePoint Designer工作流不会更改

android - 什么是 CSS 的 dp(密度独立像素)单位?

java - 启动 GoldFish 服务器时出错 : Ubuntu 13. 10

c# - 为什么这个线程示例根本不可预测(每次输出不同的结果)?

c# - 检查 Linq to Entity 中的 True 或 Null 值

python - Python 上的实时 Web 应用程序

c# - 在统一上使用 c# 访问 MySQL 数据库?

c# - 使用 Unity3D 写入 HoloLens 2 上的 Application.persistentDataPath,然后通过设备 Web 门户访问文件