从阅读顺序上,这篇应该在“MSDN Visual系列:在WSSv3中编程方式激活单个文档库的审计功能”前面的,内容有些重复,但作为系列的一部份,所以还是贴了出来。
原文:http://msdn2.microsoft.com/en-us/library/bb418729.aspx
WSSv3中包括了一个很强大的基础结构,用来实现用户对页面,文档或列表项访问的审核。在SharePoint中,我们可以在网站集层次上启用审核。只需要几行代码就可以完全启用整个网站集中的审计。当我们进行这样的操作时,SharePoint会在用户每次查看,编辑一个列表项,文档或页面时,记录一个审计项到其审计日志中。
SharePoint中许多类型的对象都是可以审计的。每个这样的对象都会暴露一个Audit属性。我们可以通过编程用一系列的审计标记配置该属性。这些标记由SPAuditMaskType枚举类型定义。下面的例子在当前网站集上启用了针对所有类型审计事件的审计。
SPSite siteCollection = SPContext.Current.Site;
// Turn on auditing flags.
siteCollection.Audit.AuditFlags = SPAuditMaskType.All;
siteCollection.Audit.Update();
// Turn on auditing flags.
siteCollection.Audit.AuditFlags = SPAuditMaskType.All;
siteCollection.Audit.Update();
使用更细粒度的审计
在某些情况下,我们可能并不需要对SharePoint所支持的所有类型的审计事件都进行审计。SPAuditMaskType枚举类型提供了各种事件的对应值。我们可以使用按位或操作符来组合出特定的审计需求。
SPSite siteCollection = SPContext.Current.Site;
// Turn on auditing flags.
siteCollection.Audit.AuditFlags = SPAuditMaskType.View |
SPAuditMaskType.Update |
SPAuditMaskType.Delete;
siteCollection.Audit.Update();
// Turn on auditing flags.
siteCollection.Audit.AuditFlags = SPAuditMaskType.View |
SPAuditMaskType.Update |
SPAuditMaskType.Delete;
siteCollection.Audit.Update();
审计项
前面的例子演示了如何启用查看,更新和删除活动的审核,我们还可以有更多的选项。下面是SPAuditMaskType类型的所有值。这些审计项分别控制了不同的审核。
SPAuditMaskType.CheckIn
SPAuditMaskType.CheckOut
SPAuditMaskType.ChildDelete
SPAuditMaskType.Copy
SPAuditMaskType.Delete
SPAuditMaskType.Move
SPAuditMaskType.ProfileChange
SPAuditMaskType.SchemaChange
SPAuditMaskType.Search
SPAuditMaskType.SecurityChange
SPAuditMaskType.Undelete
SPAuditMaskType.Update
SPAuditMaskType.View
SPAuditMaskType.Workflow
SPAuditMaskType.CheckOut
SPAuditMaskType.ChildDelete
SPAuditMaskType.Copy
SPAuditMaskType.Delete
SPAuditMaskType.Move
SPAuditMaskType.ProfileChange
SPAuditMaskType.SchemaChange
SPAuditMaskType.Search
SPAuditMaskType.SecurityChange
SPAuditMaskType.Undelete
SPAuditMaskType.Update
SPAuditMaskType.View
SPAuditMaskType.Workflow
SharePoint对象模型中许多类型的对象都是可以审计的,包括SPSite,SPWeb,SPList,SPListItem等。每个对象类型的Audit属性都可以通过使用SPAuditMaskType枚举值进行配置,正如上面所展示的那样。您可以使用一个SPAuditMaskType.All来启用所有类型事件的审计功能。您也可以通过使用按位或操作符,来灵活的组合出自己项目所需要的特定审计配置。需要注意的一点是,在设定好可审计对象的审计标记后,必须调用Update方法将变更存回内容数据库。
查看视频