我想写一个IHttpModule
,必须在FormsAuthenticationModule
之后严格执行,否则就没用了。我可以确定HttpModules是按它们在HttpApplication.Modules集合中列出的顺序执行的吗?
还有HttpContext.Current.ApplicationInstance.Modules
属性返回IHttpModule
s的集合。我可以检查我的模块是否在此集合中的FormsAuthenticationModule
之后。
这样就够了吗?该收集清单IHttpModule
是否按执行顺序执行?
我明白你的意思,但因为我的模块有撤消什么FormsAuthenticationModule在做,我不能用'PostAuthenticateRequest'其'EndRequest'处理程序,所以我绝对必须在我的模块的'EndRequest'处理程序中拥有我的代码。 – sharptooth 2013-02-20 11:24:22
你能解释一下你究竟想要做什么吗?如果您试图压制FormsAuthenticationModule的自动“将401转变为重定向”行为,请在请求期间的某个时间点设置HttpResponse.SuppressFormsAuthenticationRedirect = true。 – Levi 2013-02-20 18:09:01
该属性仅出现在ASP.NET 4.5中。是的,我试图压制那件事。 – sharptooth 2013-02-21 06:13:08