【问题标题】:web api authentication in MVC application?MVC 应用程序中的 web api 身份验证?
【发布时间】:2017-10-29 11:50:51
【问题描述】:

我对 Web API 如何实现身份验证感到困惑?

我已经浏览了链接 1。

  1. Link1

  2. Link2

需要总结一下我的理解。

  1. Owin katana 是一种可以实现授权的机制。

  2. Iprincipal 可以在主机中创建,也可以在 在将附加到当前线程的 httpmodule 中 验证。

  3. 基于令牌的身份验证实现 owin。

我对 web api 中的身份验证机制知之甚少。如果有人可以帮助我理解这一点,那就太好了。

我有以下疑惑。

  1. Owin 是 MVC 中一种新的身份验证方式吗?或者它已经存在 基于 Windows 和表单的身份验证的一部分?
  2. 如果我编写了一个模块来验证我可以使用哪些不同的方式来验证 api 方法/控制器?

【问题讨论】:

    标签: asp.net-mvc api asp.net-web-api


    【解决方案1】:

    你的问题的答案可能很大,我会尽量给你一些指导:

    Katana 是微软对 OWIN 标准的实现

    https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/getting-started-with-owin-and-katana

    OWIN 支持基于令牌的授权,因此 Katana 也支持。 有两种非常常用的方式来实现这个令牌授权,你可以使用 Windows 授权

    https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/enabling-windows-authentication-in-katana

    或者您可以使用更标准和更推荐的方式来使用 OAuth:

    https://docs.microsoft.com/en-us/aspnet/aspnet/overview/owin-and-katana/owin-oauth-20-authorization-server

    使用 ASP.net(netfx,非核心),您可以使用控制器级别的属性来提供实现授权和身份验证所需的元数据。

    【讨论】:

    • 感谢您的详细解释。表单身份验证属于 Web API 中基于令牌的身份验证吗?
    • 使用 OAuth 时,表单上的身份验证由身份验证服务器管理。该服务器一旦成功识别了客户端,就向客户端发送一个令牌。客户端将令牌发送到您的 API,API 必须对其进行验证。使用 ASP.net,您只需对控制器应用一些属性来配置身份验证(声明)
    • 在这里您可以找到一些附加信息:stackoverflow.com/questions/22516747/…
    猜你喜欢
    • 2017-03-03
    • 1970-01-01
    • 2015-09-05
    • 2016-07-03
    • 2018-10-09
    • 2014-04-26
    • 1970-01-01
    • 2017-02-05
    • 2014-01-26
    相关资源
    最近更新 更多