gpt4 book ai didi

asp.net - ClaimsAuthenticationManager 与 IAuthenticationFilter 与 OWIN 表单例份验证

转载 作者:行者123 更新时间:2023-12-03 21:34:31 26 4
gpt4 key购买 nike

.NET 4.5、MVC 5:ClaimsAuthenticationManager、IAuthenticationFilter、OWIN Forms Authentication 和 ClaimsPrincipals 自从我上次接触网站的身份验证功能以来都是新的。我发现所有说这个或那个是正确方法的文档都缺乏明确性。我什至无法分辨哪些功能是互斥的。

This document说旧的 ASP.NET FormsAuthenticationModule不支持声明,但新的 OWIN 不支持无 cookie。然而,我觉得 OWIN 打算成为前进的功能?

  • 产品路线图是否说明了哪种方法是网络应用程序的前进方向?
  • ClaimsAuthenticationManager 是 Web 应用程序的 OWIN 表单例份验证的同义词吗?
  • ClaimsAuthenticationManager 和全局 IAuthenticationFilter 是否互斥?

  • 朝着正确的方向插入将不胜感激,我的大脑对此感到很兴奋。

    最佳答案

    IAuthenticationFilter

    以前在 MVC 中,IAuthorizationFilter是执行自定义身份验证的常见场所。这个过滤器的原因可以在应用程序有两个授权规范和只有一个身份验证规范的场景中看到。两个选项 - 将身份验证规范添加到单个任意授权例程中,并将所有这三个规范创建为不同的 IAuthorizationFilter - 两者都意味着我们不确保首先进行身份验证。
    IAuthenticationFilter最初添加到 MVC 程序集中来解决这个问题,然后重新定位以供 WebAPI 使用。可以在这里找到一篇很好的相关文章; ASP.NET Web API Security Filters .

    严格来说,IAuthenticationFilter和 OWIN 身份验证不是相互排斥的,但 OWIN 身份验证将首先发生,并且可能会妨碍任何使用两者的意图。

    OWIN 表单例份验证

    OWIN 表单例份验证是我从阅读一篇措辞不当的文章(上面链接)中得到的一个令人困惑的短语。它代表两个不相关的解决方案组件:

    该解决方案的“表单”方面的操作仍然与之前的表单例份验证相同。这是授权失败的结果(例如,[Authorize] 属性或 web.config <authorization> 元素)与重定向到登录处理程序表单配对。 (您选择的技术将决定您配置该重定向 URL 的位置。对于 OWIN,您将在 CookieAuthenticationOptions 中配置它。)

    “OWIN”方面与引发我的 OP 的困惑更相关。我不会广泛地详细介绍 OWIN,因为它的功能远不止身份验证。将 ASP.NET 与 IIS 完全分离(通过 OWIN),这会带来很多优点和缺点,但 MVC6 是专门构建在 OWIN 上的,所以它会一直存在。

    特定于身份验证,ASP.NET 外部身份验证提供程序(Facebook/Google 社交登录)等当前模块依赖于 OWIN。如果你写 ASP.NET web 认证 the "normal" way您将使用 OWIN。这是通过 OWIN 进行身份验证的好处。

    以前,社交登录以更拼凑的方式发生,例如重定向和 MessageHandler调用 OAuthWebSecurity . OWIN 提供了一种机制来重定向和处理身份验证提供程序回调;阅读Creating Custom OAuth Middleware for MVC 5了解更多信息。

    ClaimsAuthenticationManager
    ClaimsAuthenticationManager听起来不像。它实际上是已由 Windows Identity Foundation (WIF) 执行的身份验证过程的尾端。它旨在转换该过程产生的声明以满足您的自定义需求。例如,声明列表可能包含一个用户名,您可以从中查找数据库中经常访问的角色或权限,并出于性能原因将这些添加到声明列表中。

    它适用于使用 WIF 的任何地方。相对于当前的 ASP.NET Web 应用程序,这将意味着 OWIN。

    概括

    是的。您可能会在现代 ASP.NET Web 应用程序中使用 OWIN、WIF 和 cookie。如果您使用“盒装 Material ”,以及 WebForms 和 VB.NET 在此版本中的消亡,这只是可以接受的。

    因此,由于您可能会进行 OWIN 身份验证,因此这里有一个关于该主题的优秀系列; What’s this Owin Stuff About?

    关于asp.net - ClaimsAuthenticationManager 与 IAuthenticationFilter 与 OWIN 表单例份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20593436/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com