原文:http://msdn2.microsoft.com/en-us/library/bb418730.aspx

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属性。

视频演示
 
更详细的参考文章(中文MSDN)

转载于:https://www.cnblogs.com/Sunmoonfire/archive/2007/05/23/757537.html

MSDN Visual系列:在WSSv3中编程方式激活单个文档库的审核功能相关推荐

  1. MSDN Visual系列:创建Feature扩展SharePoint列表项或文档的操作菜单项

    原文:http://msdn2.microsoft.com/en-us/library/bb418731.aspx 在SharePoint中我们可以通过创建一个包含CustomAction元素定义的F ...

  2. Word开发工具Aspose.Words功能演示:在C ++中以编程方式在Word文档中添加或删除页眉和页脚

    Word文档中的页眉和页脚用于格式化和显示重要信息,例如主题,章节,页码,Copywrite等.以编程方式使用Word文档时,可能需要添加或删除页眉和页脚.为此,本文将教您如何使用C ++在Word文 ...

  3. 使用PDF处理控件Aspose.PDF以编程方式打印PDF文档完整攻略

    许多公司在很大程度上减少了纸张的使用.但是,在某些情况下打印很重要.例如,系统可能包含PDF格式的在线订单的详细信息.他们需要在分发在线订单进行交付时打印PDF.他们大规模处理项目,因此手动打印每个文 ...

  4. 利用Aspose.PDF以编程方式打印PDF文档

    使用C#打印PDF文件 可以使用C#或VB.net在.NET应用程序中自动打印PDF文件.您可以按照以下简单步骤打印PDF文件: 创建一个PdfViewer类的对象 加载输入的PDF文档 打印PDF文 ...

  5. 如何使用C ++以编程方式在Word文档中使用注释?

    Microsoft Word使您能够向Word文档添加注释.在诸如建议改进文档或共享文本思想等情况下,注释可能会有所帮助.在某些情况下,需要以编程方式管理评论.为此,本文将教您如何使用C ++在Wor ...

  6. 转:MSDN Visual系列:MOSS企业级搜索之一——在搜索中心里创建自定义搜索页面和标签选项卡...

    MSDN Visual系列:MOSS企业级搜索之一--在搜索中心里创建自定义搜索页面和标签选项卡 原文:http://msdn2.microsoft.com/en-us/library/bb42885 ...

  7. Visual C# .Net 环境中编程实现浮动工具栏

    Visual C# .Net 环境中编程实现浮动工具栏 郭胜涛 mailtogst@163.com 原帖地址:http://blog.csdn.net/mailtogst/archive/2007/0 ...

  8. notes获取计算机名,在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database)...

    在Lotus Notes数据库中获取最近读取的文档(Get recently read document in Lotus Notes Database) 我正在使用LotusScript和Lotus ...

  9. Java 中的 XML:Java 文档模型的用法

    Java 中的 XML:Java 文档模型的用法 英文原文 内容: 代码对比 DOM JDOM dom4j Electric XML XPP 结束语 下一次... 参考资料 关于作者 对本文的评价 相 ...

最新文章

  1. 基于深度学习OpenCV与python进行字符识别
  2. [problem]快速排序和归并排序
  3. 使用sumlime text有感
  4. java jar包命令行下可以双击不运行解决方法(改变java默认图标)
  5. ktor框架用到了netty吗_如何使用 Ktor 快速开发 Web 项目
  6. hspice2014安装教程
  7. ubuntu-基本命令篇-18-压缩包管理
  8. 【BZOJ】1798: [Ahoi2009]Seq 维护序列seq(线段树)
  9. python语言有哪些类型的运算符_python(4)-变量 数据类型和运算符
  10. 工作106:crul哈哈概念
  11. java 跳转虚拟目录_java tomcat虚拟目录的深入了解
  12. 库克也有手机瘾:每天拿起iPhone200次 比预想多一倍
  13. 《跑跑卡丁车》国内运营商裁员超30%
  14. 启动时不自动打开一个空文档
  15. [MySQL] - MySQL的Grant命令
  16. Codevs No.1553 互斥的数
  17. 中控考勤机二次开发 java_SDK二次开发,读取中控考勤机打卡记录测试。
  18. python怎么安装lxml库_lxml解析库的安装和使用
  19. B016 - 基于51单片机的公交车语音报站_点阵广告屏
  20. e系列是服务器CPU吗,教你识别英特尔E系列服务器CPU

热门文章

  1. c语言有趣代码_【新课预知】——C语言程序设计
  2. seqlist插入java_大话数据结构(五)(java程序)——顺序存储结构的插入与删除...
  3. mysql服务器的线程数查看方法_MySQL服务器线程数的查看方法详解
  4. VS 如何修改C++编译标准
  5. python方法items_Python字典items()方法与示例
  6. java中Scanner类中 next()与nextLine()的区别
  7. 远控免杀专题(22)-SpookFlare免杀
  8. linux 卸载sphinx,sphinx管理脚本,实现sphinx启动、关闭、重启、生成索引功能 | linux运维小站–linux系统架构_服务器运维_Linux运维工程师工作手札...
  9. BZOJ 2818——Gcd
  10. k8s pod MySQL环境变量_Kubernetes 配置Pod和容器(一)定义容器环境变量