SharePoint站点安全性:如何以编程方式监视更改?

时间:2008-12-05 21:30:59

标签: security sharepoint

我有一种情况,如果SharePoint网站所有者决定中断权限继承并直接管理网站成员身份,我还希望相应地修改顶级网站中特定列表中项目的查看权限。

如何最好地捕获这些更改,以便我知道何时对列表项应用适当的更改?

我希望在网站的权限更改时通知一些C#代码,以便我可以通过编程方式修改相应的列表项权限。

3 个答案:

答案 0 :(得分:1)

执行此操作的最佳方法(不幸的是)定期查询所有站点并检查是否禁用了继承。我遇到了类似的问题,并使用PowerShell脚本来创建report on site security。如果您之前没有使用过Powershell,请不要被吓倒。语法非常类似于C#。

答案 1 :(得分:0)

您可以使用SharePoint审核来监控权限更改。它将跟踪项目级别的更改。缺点是你必须打开这个功能,这会在一定程度上损害性能。

至于通知,我认为审计不会告诉您有关更改的信息。我很确定你需要轮询审核日志。

article on MSDN中有大量有关审核的信息。

答案 2 :(得分:0)

我认为另一种可能做得很好的方法是使用SharePoint ChangeLog。基本上,SharePoint在索引编制期间使用它,日志告诉收集器确切地改变了什么,以及在增量爬网期间应该索引什么。

如果您更改了权限,则应在增量爬网期间选择此权限。 ChangeLog具有可以传递以识别权限更改的特定参数。看一下SPChangeQuery类:

http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spchangequery.aspx

具体来说,您可以查找ChangeTypes: http://msdn.microsoft.com/en-us/library/microsoft.sharepoint.spchangetype.aspx

其中: AssignmentAdd AssignmentDelete MemberAdd MemberDelete ......还有更多