SharePoint Portal Server 2003 SP2对文档库事件处理程序所带来的影响

当服务器管理员在SharePoint Portal Server 2003门户服务器上安装了SPS2003 SP2后,可能会发现原本工作正常的文档库事件处理程序突然不工作了,如果打开管理中心的事件查看器,可能还有发现有类似“操作无法完成”的异常信息。

这是因为SPS2003 SP2(实际上,这个影响是从SharePoint Windows Services 2.0 SP2所带来的)更改了原本的文档库事件处理程序的认证方式,但之前,我们编写的文档库事件处理程序可以直接以SPS站点所宿主的应用程序池的账号权限来运行,但在安装了SP2之后,如果没有在事件处理程序中用代码显式的进行帐户模拟,那么事件处理程序将默认没有权限访问SharePoint Object Model。

修正这个影响的方法,就是在我们的事件处理程序代码中显式进行帐户模拟。如果SPS站点所宿主的应用程序池帐户的权限已经足够大,那么我们可以用如下的简单代码来完成这个工作:

WindowsImpersonationContext wic = WindowsIdentity.GetCurrent().Impersonate();
// 事件处理程序代码...
wic.Undo();

这个问题已经被KB 909455所描述。

你可能感兴趣的:(SharePoint)