您的位置:首页 > 编程语言

记录一个在SharePoint的代码中提升运行权限的方法

2010-02-02 22:14 471 查看
方法: SPSecurity.RunWithElevatedPrivileges

命名空间: Microsoft.SharePoint
程序集: Microsoft.SharePoint (in microsoft.sharepoint.dll) 使用方法:
SPSecurity.RunWithElevatedPrivileges(delegate()
{
using (SPSite site = new SPSite(web.Site.ID))
{
// implementation details omitted
}
});

注意:
你必须在delegate的内部创建新的SPSite对象, 因为外面创建的SPSite对象即使你在delegate内部引用, 它还是没有完全控制的权限的. 使用using关键字来保证SPSite对象在delegate内部被析构掉.
另外, 该方法的行为是将当前账户提升为IIS的application pool的账户, 即web应用程序的管理员账户, 从而获得完全控制权限的.
原文出处有更详细的例子.
补充
=======
这个方法与ASP.NET的impersonate有什么不同呢?
嗯, 后者要么要动web.config, 要么就需要在代码中hard code下来你要使用的用户名和密码. 相对于SharePoint Object Model提供的这个方法来说, 缺点还是比较明显的. 所以在SharePoint中, 要用还是用OM的吧.
摘自:
http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spsecurity.runwithelevatedprivileges.aspx
This page is specific to The 2007 product release
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐