2010-11-04 55 views
2

除了管理员帐户以外,是否可以恢复从列表中删除的记录?如果可能如何?在我目前的项目中,我必须为拥有“批准”权限的组授予权限,以恢复从列表中删除的记录。有什么建议么?如何以编程方式从回收站共享点恢复项目?

+0

请解释一下你的要求可能是我们可以建议你另一种方法来达到你的目的 – 2010-11-04 11:50:09

+0

在谁是有批准权限的我的当前项目的用户应该能够恢复被删除物品来自回收站.. – Abhimanyu 2010-11-04 12:11:24

回答

1

您将不得不编写一些自定义代码来解决安全模型 - 如果正确完成可以有利于不授予过多权限。下面是一个代码片段,让你开始:

SPSecurity.RunWithElevatedPrivileges(delegate() 
{ 
    using (SPSite site = new SPSite("http://server/")) 
    { 
    using (SPWeb web = site.OpenWeb()) 
    { 
     if (web.RecycleBin.Count > 0) 
     { 
     web.RecycleBin[0].Restore(); 
     } 
    } 
    } 
}); 
+0

不应该说“如果”是“时”吗? – Dinerdo 2017-10-27 17:05:25

1

不幸的是,没有支持的方式作为非网站集管理员访问网站集中所有项目的回收站。

回收站只显示打开回收站的用户删除的内容。因此,当您自己删除某些内容时,即使您是网站所有者,您也只能在“回收站”中看到内容。您将无法看到其他人删除的文件。

以网站集管理员身份登录时,您可以打开回收站并查看所有用户的已删除项目。你甚至有观点的选择:

+0

有没有什么办法使用spsecurity runwithelevatedpriviliges以编程方式恢复这些删除的项目? – Abhimanyu 2010-11-04 12:12:43

+0

看看'SPRecycleBinItem'方法,我更新了一些附加信息的答案。您应该可以使用提升的权限使用它。 – 2010-11-04 12:26:20

相关问题