繁体   English   中英

ASP.NET 2.0 HttpModule或HttpHandler

[英]ASP.NET 2.0 HttpModule or HttpHandler

我正在改进用于身份验证/授权的应用程序。 该应用程序是asp,但我并不熟悉。

到目前为止,我已经能够创建HttpModule和HttpHandler并将其注册到IIS管理器中。

首先,我尝试了一个HttpModule,并成功地对在托管资源上运行的模块进行了AA。 我正在使用PreRequestHandlerExecute方法,因此可以访问会话。 由于某些原因,当其他页面运行时,菜单等内容将丢失。 在模块代码中,我只是简单地将变量放入会话中。 为什么会这样?

接下来,我尝试了HttpHandler的特定路径。 我似乎很幸运,但是实际提交的登录表单提交后导致错误。 可能是因为表单是runat服务器,并且由于处理程序在表单的前面,所以它看到了会话等错误。

如果我删除HttpModule / HttpHandler,则该应用程序可以正常运行,但显然没有所需的AA。 所以我缺少使用HttpModule / HttpHandler的关键部分

我已经遇到了许多常见问题,例如null session等,这些问题已经解决。

我已经多次使用Filter / FilterChain在Java Server / Jsp中完成了这类工作,但是ASP.NET对我来说太新了,无法弄清楚API /语法。

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

任何建议表示赞赏。

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

通常,对于身份验证,您将需要在模块中,因为您将需要检查每个请求以查看其是否已通过身份验证。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM