2017-05-29 63 views
1

我很困惑Web API如何实现身份验证?在MVC应用程序中的Web API认证?

我已经通过链接1.

  1. Link1

  2. Link2

,需要总结一下我明白了。

  1. 欧文卡塔娜是一种可以实施授权的机制。

  2. 会有这既可以在将被附接到currentthread到 验证在HTTP模块主机或 创建的IPrincipal。

  3. 基于令牌的认证实现了owin。

我对web api中的认证机制很少有想法。如果有人能帮助我理解这一点,那会很棒。

我有以下怀疑。

  1. Owin是MVC中一种新的身份验证方式吗?或者其已经存在为 的窗口和基于窗体的身份验证的一部分?
  2. 如果我编写了一个模块来验证我可以用来验证api方法/控制器的不同方式是什么?

回答

1

的回答你的问题可能是相当大的,我会尽量给你一些指导原则:

武士刀是微软的落实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,不是核心),您使用控制器级别的属性来提供实现授权和认证所需的元数据。

+0

感谢您的详细解释。表单身份验证属于Web API中基于令牌的身份验证? – user1357872

+0

使用OAuth时,表单上的认证由认证服务器管理。这台服务器,一旦客户端被成功识别,就向客户端发送一个令牌。客户端将令牌发送到您的API并且API必须验证它。使用ASP.net,您只需要将一些属性应用于控制器来配置身份验证(权利要求) – Rafa

+0

在这里您可以找到一些其他信息:https://stackoverflow.com/questions/22516747/authenticating-a-net-mvc -application上带有一个的Web-API?RQ = 1 – Rafa

相关问题