Windows 在主页面上调用了HTTPModule,但在子页上没有调用

Windows 在主页面上调用了HTTPModule,但在子页上没有调用,windows,sharepoint-2007,windows-server-2008,httpmodule,Windows,Sharepoint 2007,Windows Server 2008,Httpmodule,在Windows 2008下运行的MOSS 2007中,我面临一个奇怪的错误。我创建了一个自定义HTTP模块,该模块在应用程序的OnAuthenticate事件上触发。它基本上创建了一个自定义cookie,另一个应用程序使用该cookie对用户进行身份验证,从而产生单一登录效果 在运行Win2K3的开发服务器下,一切都很顺利。但是,在临时服务器上发生了以下情况: a模块似乎在基本页上启动,也就是说,如果有人直接进入子页,如:,它似乎不会启动 b该模块是从IE启动的,但不是从Firefox或Chr

在Windows 2008下运行的MOSS 2007中,我面临一个奇怪的错误。我创建了一个自定义HTTP模块,该模块在应用程序的OnAuthenticate事件上触发。它基本上创建了一个自定义cookie,另一个应用程序使用该cookie对用户进行身份验证,从而产生单一登录效果

在运行Win2K3的开发服务器下,一切都很顺利。但是,在临时服务器上发生了以下情况:

a模块似乎在基本页上启动,也就是说,如果有人直接进入子页,如:,它似乎不会启动

b该模块是从IE启动的,但不是从Firefox或Chrome启动的。两者之间的唯一区别似乎是,某个Web部件在IE中加载并工作,但在Chrome或FF中似乎不加载或工作


有人能解释一下这种行为吗。HTTPMOdule将覆盖应用程序的AuthenticateRequest事件。

很抱歉,我们已经解决了这个问题。问题是OnAuthenticate的事件处理程序的Init方法使用底层ASP.NET用户的权限,但主事件处理程序委托使用已验证用户的凭据

我已经在事件日志上写了一些代码,显然这需要更高级别的权限。这就是模块的代理被触发的原因,但没有任何记录

我猜主页上的Web部件是以其他用户的权限运行的,这些用户拥有必要的访问权限,因此在那里工作。由于该模块在FF或Chrome浏览器中不起作用,因此该模块在这些浏览器中不起作用。此外,子页面没有Web部件,因此直接进入子页面也会导致问题

我在日志代码中添加了SPSecurity.runWithElevatedPriviliges之后,问题得到了解决