如何访问使用其他应用程序池帐户运行的站点

时间:2011-09-09 09:14:38

标签: sharepoint-2010

我在SPWeb中执行了一段代码,它必须在运行不同应用程序池帐户的不同Web应用程序中创建站点的SPSIte和SPWeb对象。我收到这样的错误:

错误:发生了异常。 ExceptionType:'SqlException'ExceptionMessage:'无法打开登录请求的数据库“WSS_Content_Team_Standard_01”。登录失败。用户'IINET \ UATSP_MyAppool Acc'登录失败。' “

我如何实现这一目标?

提前致谢:)

2 个答案:

答案 0 :(得分:0)

这是因为上下文Web应用程序的应用程序池帐户没有“远程”SPSite的内容数据库的权限。从安全角度来看,这实际上是一件好事。

解决此问题的一种方法是调用由远程SPSite托管的(自定义)Web服务或HTTP处理程序,它执行需要访问内容数据库的实际工作。

我个人不会尝试沿着模仿Windows的路线或更改数据库权限。

答案 1 :(得分:0)

这可以通过从给定的网站集创建新的SPSite对象并将Web App池用户令牌作为参数传递来完成。新的SPSite对象应该单独SPSecurity.RunWithElevatedPrevileges