Sharepoint 2010 如何在服务器对象模型中模拟服务器场管理员? 我们使用SharePoint基金会2010。我们正在使用服务器对象模型创建内容数据库和网站集。我们在SharePoint中有1000多个用户。由于内容数据库和网站集创建是管理任务,因此只有服务器场管理员可以这样做。在我们的情况下,任何用户都应该能够使用服务器场管理员帐户创建内容数据库和网站集。我们可以使用SPUser吗?或者还有其他方法吗?您能提供我解决上述问题的代码或链接吗?

Sharepoint 2010 如何在服务器对象模型中模拟服务器场管理员? 我们使用SharePoint基金会2010。我们正在使用服务器对象模型创建内容数据库和网站集。我们在SharePoint中有1000多个用户。由于内容数据库和网站集创建是管理任务,因此只有服务器场管理员可以这样做。在我们的情况下,任何用户都应该能够使用服务器场管理员帐户创建内容数据库和网站集。我们可以使用SPUser吗?或者还有其他方法吗?您能提供我解决上述问题的代码或链接吗?,sharepoint-2010,impersonation,sharepoint-api,sharepoint-object-model,Sharepoint 2010,Impersonation,Sharepoint Api,Sharepoint Object Model,听起来您可能需要使用。这将允许您运行代码,就像您是应用程序池标识帐户的服务器场管理员一样。要小心,因为这会给运行代码的用户更高的访问权限,但听起来这正是您想要的 SPSecurity.RunWithElevatedPrivileges(delegate() { using (SPSite topSite = new SPSite("URL_OF_YOUR_SITE_COLLECTION")) { //Any code you run here would run w

听起来您可能需要使用。这将允许您运行代码,就像您是应用程序池标识帐户的服务器场管理员一样。要小心,因为这会给运行代码的用户更高的访问权限,但听起来这正是您想要的

SPSecurity.RunWithElevatedPrivileges(delegate()
{
    using (SPSite topSite = new SPSite("URL_OF_YOUR_SITE_COLLECTION"))
    {
       //Any code you run here would run with the permissions of the application pool identity
    }
});

这实际上是错误的-RunWithElevatedPrivileges以应用程序池标识的形式运行代码,而应用程序池标识不是服务器场管理员(除非您的代码在管理中心内运行)。您是对的,我用您的更正编辑了这篇文章,感谢您指出这一点。@PeterJacoby您可能应该更正代码注释,太多:)现在也解决了:)