科技行者

行者学院 转型私董会 科技行者专题报道 网红大战科技行者

知识库

知识库 安全导航

至顶网软件频道在WSSv3中编程方式激活单个文档库的审核功能

在WSSv3中编程方式激活单个文档库的审核功能

  • 扫一扫
    分享文章到微信

  • 扫一扫
    关注官方公众号
    至顶头条

WSSv3有一个很强大基础结构,专门用来审核用户对页面,文档和列表项的访问。您可以在整个站点集上启用审核功能,但是如果可以将启用审核的粒度更小,无疑会对我们的编程工作更有利。

作者:sunmoonfire 来源:blog 2007年9月3日

关键字: WSSv3 编程 SharePoint SharePoint2007 Office

  • 评论
  • 分享微博
  • 分享邮件
WSSv3有一个很强大基础结构,专门用来审核用户对页面,文档和列表项的访问。您可以在整个站点集上启用审核功能,但是如果可以将启用审核的粒度更小,无疑会对我们的编程工作更有利。比如,您或许希望可以在一个特定的列表或文档库上启用审核。事实上,我们可以做到的远不只于此,我们甚至可以在某个特定的列表项或文档上启用审核。
如何通过编程方式去实现呢?下面将以代码示例的方式演示给大家。
在WSS对象模型中,SPList,SPListItem对象都有一个Audit属性,用于标示审核的配置情况。下面的例子展示了如何针对特定的两个事件在一个文档库上启用审核。
c#
SPSite siteCollection = SPContext.Current.Site;
SPWeb site 
= siteCollection.RootWeb;
SPList docLib 
= site.Lists("Presentations");
// Turn on auditing flags.
docLib.Audit.AuditFlags = SPAuditMaskType.View |
                          SPAuditMaskType.ChildDelete;
docLib.Audit.Update();
大家一定注意使用的操作符号,按位或,"|"
前面的例子展示了如何配置启用当有查看或Child(是指文件夹吗?)被删除时的审核,还有许多其他的审核项可供使用。下面是SPAuditMaskType的所有用于控制文档库会发生的各种审核类事件的枚举值。

SPAuditMaskType.ChildDelete
SPAuditMaskType.Delete
SPAuditMaskType.ProfileChange
SPAuditMaskType.SchemaChange
SPAuditMaskType.SecurityChange
SPAuditMaskType.View

而下面的枚举值是SDK中的一个完整的列表。

SPAuditMaskType.All
SPAuditMaskType.CheckIn  
SPAuditMaskType.CheckOut  
SPAuditMaskType.ChildDelete  
SPAuditMaskType.Copy  
SPAuditMaskType.Delete  
SPAuditMaskType.Move  
SPAuditMaskType.None  
SPAuditMaskType.ProfileChange  
SPAuditMaskType.SchemaChange  
SPAuditMaskType.Search  
SPAuditMaskType.SecurityChange  
SPAuditMaskType.Undelete  
SPAuditMaskType.Update  
SPAuditMaskType.View  
SPAuditMaskType.Workflow

希望会给大家更多的提示。

在WSS中,审核支持配置于站点集之上。您可以在整个站点集上通过对SPSite对象的Audit属性编程启用审
核。但是,这种做法对于一些大的网站集来说可能不会有效,可以想象这将意味着会产生很大的信息量。

注意:

当您设置了一个文档库的审核标记,您只是针对那些发生在文档库本身之上的事件来启动审核。并没有设置这些审核标记到文档库里面的文档。比如,当您查看整个文档库,这个事件会记录下来,但是当您更新文档库里的某个文档,这个事件并不记录。

WSS对象模型中的许多不同类型的对象都是可以审核的,包括SPSite,SPWeb,SPList和SPListItem.每个对象类型的Audit属性都可以通过使用SPAuditMaskType枚举值进行配置,正如上面所展示的那样。您可以使用一个SPAuditMaskType.All来启用所有事件上的审核。您也可以通过使用按位或操作符,来灵活的组合出自己项目所需要的特定审核配置。

需要注意的一点,只有在SPSite对象上进行的审核配置会影响到站点中的其他对象。其他在其子对象如SPWeb,SPList,SPDocumentLibrary上的设置值并不会影响其下的对象。因此,如果您的项目需要比SPSite级别更细粒度的配置审核,您可以使用SPListItem类来配置特定列表项或文档上的Audit属性。

    • 评论
    • 分享微博
    • 分享邮件
    邮件订阅

    如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。

    重磅专题
    往期文章
    最新文章