2017-05-29 60 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

相關問題