- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ASP.NET MVC 5 应用程序中组织帐户的默认模板使用 HttpModule 来处理来自 Azure AD 的响应并创建相应的 ClaimsIdentity。查看 ADAL 库的示例,我发现也可以使用 OWIN 中间件来达到相同的目的。哪种方法更好?为什么模板使用 HttpModules,而不是像个人帐户模板那样使用 OWIN 中间件?
谢谢!
最佳答案
我认为 HttpModules 是在管道中处理 AuthZ 之类的事情的旧方法。 HttpModule 是与 Web 表单同时构建的基础设施的一部分。
如果您正在制作像 Web Api 或 MVC 应用程序这样的现代 Web api,我建议忘记 HttpModule 并使用 Owin 中间件,但如果您使用 Webforms,最好使用 HttpModules(尽管可以在 Webforms 中托管 OWIN)但您不会享受 OWIN 的一些好处)。
这里有 OWIN 概述,您可以在其中看到使用 OWIN 中间件的一些要点:
http://www.asp.net/aspnet/overview/owin-and-katana/an-overview-of-project-katana
此外,HttpModules 基于一些发生的事件,但 OWIN Challenges 独立于这些事件。
关于您提出的问题为什么模板使用 HttpModules,我不太确定,但我可以猜测,因为它们在 dll 方面更轻量级,您需要运行示例..
关于asp.net-mvc - 使用 OWIN 将 ASP.NET MVC 应用程序连接到 Azure AD 或使用默认模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30039096/
我是一名优秀的程序员,十分优秀!