我有一个网站,它使用 .net 安全模块来保护网站的某些区域。它不起作用,应该受密码保护的页面却没有。除此之外,该网站不会抛出任何错误。
我无权访问代码,并且该模块似乎没有记录任何内容。
是否有加载/调用httpModules的IIS或.Net日志?我觉得它没有加载/调用它,它只是没有告诉我。
我的 web.config 有这个片段,它加载模块:
<httpModules>
<add name="MyApp.SecurityModule" type="MyApp.Host.Security.WebForms.SecurityModule" />
</httpModules>
最佳答案
您可以使用Modules global.asax 类中的属性来检查已加载并与应用程序关联的 http 模块 - 使用任何请求事件,例如 BeginRequest
或 PostMapRequestHandler
。
但是,我认为这不会是一个问题 - 如果您在 web.config 中配置了该模块,那么它将被加载。如果有任何问题,ASP.NET 将报告错误。最有可能的是,http 模块代码必须以某种方式工作,或者需要未满足的某些特定条件。
使用诸如Reflector之类的工具或ILSpy检查和反编译您的应用程序程序集 - 检查所述类型的代码(MyApp.Host.Security.WebForms.SecurityModule
) - 坦率地说,在没有文档/注释代码的情况下,它会是确定模块应该如何运行(然后相应地排除故障)的唯一选择。
关于asp.net - 我可以看到 IIS 加载(或未加载).net httpmodule 的日志吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8303693/