在请求通过身份验证之前确定请求的资源是否支持 POST 数据的最佳方法是什么?
在我的 HttpMoudleAuthenticateRequest
事件中,我正在检查路径是否以“.aspx”结尾,但这感觉很粗糙,不适用于路由 URL。
我已经探索过检查的类型,HttpContext.Current.Handler
但直到事件链的后期才分配。
在事件发生之前,ASP.NET 不知道请求应该映射到哪个处理程序HttpApplication.PostMapRequestHandler
。这是了解将执行哪个处理程序的理想场所。订阅HttpApplication.AuthenticateRequest
事件可确保仅在处理附加的模块或事件处理程序之前对请求进行身份验证。
所以你可以在AuthenticateRequest
事件中做到这一点的唯一方法是分析 URL(就像你所做的那样),我认为。