【问题标题】:How to impersonate Farm Administrator in server object model?如何在服务器对象模型中模拟农场管理员?
【发布时间】:2013-04-20 09:10:15
【问题描述】:

我们正在使用 SharePoint Foundation 2010。我们正在使用服务器对象模型创建内容数据库和网站集。我们在 SharePoint 中有 1000 多个用户。由于内容数据库和网站集创建是管理任务,因此只有场管理员可以执行此操作。在我们的例子中,任何用户都应该能够使用场管理员帐户创建内容数据库和网站集。我们可以使用 SPUser 还是有其他方法可以做到这一点?您能否提供我可以解决上述问题的任何代码或链接?

【问题讨论】:

    标签: sharepoint-2010 impersonation sharepoint-api sharepoint-object-model


    【解决方案1】:

    听起来您可能需要使用SPSecurity.RunWithElevatedPrivleges。这将允许您像 farm 管理员 应用程序池身份帐户一样运行代码。请小心,因为它为运行代码的用户提供了 full 更高的访问权限,但听起来这就是您想要的。

    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 你也应该更正代码注释:)
    • 现在也修复了 :)
    猜你喜欢
    • 2017-12-19
    • 1970-01-01
    • 2012-11-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-06-10
    • 2020-10-04
    相关资源
    最近更新 更多