C# ASP.NET 2.0 HttpModule或HttpHandler

C# ASP.NET 2.0 HttpModule或HttpHandler,c#,asp.net,session,httphandler,httpmodule,C#,Asp.net,Session,Httphandler,Httpmodule,我正在改进用于身份验证/授权的应用程序。 这个应用程序是asp,但我对它很不熟悉 到目前为止,我已经能够创建一个HttpModule和HttpHandler,并在IIS管理器中注册它们 首先,我尝试了一个HttpModule,并成功地使用在托管资源上运行的模块实现了AA。我正在使用PreRequestHandlerExecute方法,因此我可以访问会话。由于某些原因,当其他页面运行时,菜单之类的部分开始丢失。在模块代码中,我只是在会话中放置了一个变量。为什么会发生这种情况 接下来,我尝试了一个特

我正在改进用于身份验证/授权的应用程序。 这个应用程序是asp,但我对它很不熟悉

到目前为止,我已经能够创建一个HttpModule和HttpHandler,并在IIS管理器中注册它们

首先,我尝试了一个HttpModule,并成功地使用在托管资源上运行的模块实现了AA。我正在使用PreRequestHandlerExecute方法,因此我可以访问会话。由于某些原因,当其他页面运行时,菜单之类的部分开始丢失。在模块代码中,我只是在会话中放置了一个变量。为什么会发生这种情况

接下来,我尝试了一个特定路径的HttpHandler。我在那里似乎很幸运,但是实际的登录表单post SUMMIT导致了一个错误。可能是因为表单在服务器上运行,并且由于处理程序在它前面,它看到了一些不好的东西

如果我删除了HttpModule/HttpHandler,应用程序就可以正常工作,但显然没有所需的AA。因此,我缺少使用HttpModule/HttpHandler的关键部分

我已经遇到了许多常见问题,如空会话等,我已经解决了这些问题

我曾多次使用Filter/FilterChain在Java Server/Jsp中完成此类工作,但ASP.NET对我来说太新了,无法理解API/语法

我需要找到最简单的方法来添加一个HttpModule/HttpHandler,它可以与现有的表单登录一起工作,但允许我执行一些AA,并为AA执行重定向或会话管理。我考虑过在aspx页面中使用脚本等

感谢您的任何建议。

每次请求都会点击一个HttpModule。HttpHandler通常在特定扩展上运行

一般来说,对于身份验证,您需要将其放在一个模块中,因为您需要检查每个请求以查看它是否经过身份验证