2008-12-05 52 views
2

我有一种情况,如果SharePoint网站所有者决定中断权限继承并直接管理网站成员资格,我还想相应地修改顶级网站中特定列表中的项目的查看权限。SharePoint网站安全性:如何以编程方式监视更改?

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

我希望有一些C#代码在网站的权限发生变化时得到通知,这样我可以通过编程方式修改相应的列表项权限。

回答

1

不幸的是,最好的方法是定期查询所有网站,并检查是否禁用继承。我有一个类似的问题,并使用PowerShell脚本来创建一个report on site security。如果您之前没有使用Powershell,请不要被吓倒。该语法非常类似于C#。

0

您可以使用SharePoint审核来监视权限更改。它将追踪到项目级别的变化。缺点是你必须打开这个功能,这会损害性能。

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

在这article on MSDN有大量的审计信息。

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 ...更多

相关问题