何时在管道中进行路由?

| 何时在ASP.NET MVC管道中进行路由? IIS 7.0的ASP.NET应用程序生命周期概述 是否在步骤2(执行网址映射)中? 我打算有一些有ID的路线 \“激活/ {id} \” \“忘记密码/ {id} \” 我希望能够在第4步-AuthenticateRequest中的管道中尽早访问ID。这样我就可以通过url的id部分将身份验证令牌传递给我的自定义身份验证模块。 因此,我可以在自定义身份验证模块中访问id属性,还是必须从请求url中手动提取它? 谢谢你的帮助, 邓肯     
已邀请:
似乎UrlRouting发生在第9步-PostResolveRequestCache。 因此,它实际上发生在AuthenticateRequest之后,即步骤4。 这是UrlRoutingModule的文档 我在反射器中查找了它的Init()方法,这就是它订阅PostResolveRequestCache事件的地方。 所以我想现在我必须尝试编写一些代码来优雅地手动从url中提取令牌。     
我知道它不是您想要的答案-但从安全角度来看,uri中的令牌是个坏主意。可以使用javascript读取它们,然后将其发送到世界上任何其他站点。 不过,为了回答您的问题,路由是一个http模块,因此路由发生得很早,但是在您的身份验证之后发生。请参阅:http://msdn.microsoft.com/en-us/magazine/dd347546.aspx#id0070044     

要回复问题请先登录注册