WSSv3中包括了一个很强大的基础结构,用来实现用户对页面,文档或列表项访问的审核。在SharePoint中,我们可以在网站集层次上启用审核。只需要几行代码就可以完全启用整个网站集中的审核。当我们进行这样的操作时,SharePoint会在用户每次查看,编辑一个列表项,文档或页面时,记录一个审核项到其审核日志中。
SharePoint中许多类型的对象都是可以审核的。每个这样的对象都会暴露一个Audit属性。我们可以通过编程用一系列的审核标记配置该属性。这些标记由SPAuditMaskType枚举类型定义。下面的例子在当前网站集上启用了针对所有类型审核事件的审核。
SPSite siteCollection = SPContext.Current.Site;
// 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();
审核项
前面的例子演示了如何启用查看,更新和删除活动的审核,我们还可以有更多的选项。下面是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
SharePoint对象模型中许多类型的对象都是可以审核的,包括SPSite,SPWeb,SPList,SPListItem等。每个对象类型的Audit属性都可以通过使用SPAuditMaskType枚举值进行配置,正如上面所展示的那样。您可以使用一个SPAuditMaskType.All来启用所有类型事件的审核功能。您也可以通过使用按位或操作符,来灵活的组合出自己项目所需要的特定审核配置。需要注意的一点是,在设定好可审核对象的审核标记后,必须调用Update方法将变更存回内容数据库。