我有一个自定义的 IHttpModule 进行身份验证(对 Facebook、Myspace 等)。它引发了一个可以在 HttpApplication 实例中处理的事件,其中包含有关用户的详细信息。这很像 FormsAuthenticationModule 引发的 OnAuthenticate 事件。
从 HttpApplication 类中,我应该将获得的这些信息放在哪里,以便它可用于 ASP.NET MVC 管道?我曾经把它放在 Context.Items 字典中。但似乎与(更友好的)HttpContextBase 我想把它放在那里以便于模拟/注入并且我没有在我的控制器中使用 HttpContext.Current 。
那么,基本上,我如何最好地将数据从 IHttpModule 获取到 MVC 上下文中?快速浏览一下,我能想到的最好方法是创建一个自定义 IControllerFactory 以从 HttpContext 中提取数据并将其添加到 RequestContext。我回答了我自己的问题吗?有没有侵入性较小的方式(比如我可以处理的事件)?