2013-02-16 32 views
1

我即將開始研究一個新的ASP.NET MVC Web應用程序,我打算構建iOS移動版本以及。通過由ASP.NET Web應用程序和iOS移動應用程序訪問的Web API服務層進行身份驗證和授權

我打算使用MVC 4 Web API作爲服務層,該服務層將位於業務層前面並由Web應用程序和移動應用程序訪問。

但我有點困惑,關於如何在此體系結構中實現身份驗證和授權。

通常在MVC應用程序,一旦用戶提交正確的憑據,我會做出

FormsAuthentication.SetAuthCookie(username, false); 

通話,這將創造那麼就會來回傳遞從一個請求到另一個保持一個cookie用戶在應用程序中的會話。

我很困惑,從web應用程序訪問時,這將如何通過服務層起作用。或者當移動應用程序調用服務時它將如何工作。

+0

下面是使用令牌保護WebAPI的一個很好的演練:http://codebetter.com/johnvpetersen/2012/04/02/making-your-asp-net-web-apis-secure/ – 2013-02-16 17:31:09

回答

0

您可以設計您的Web API,使其需要在每個請求上發送表單身份驗證Cookie。然後,您將使用此cookie從當前用戶名中提取當前通過身份驗證的用戶。

但是在設計一個API時,通常最好使用一些其他的驗證方式而不是cookie。例如,您可以使用Authorization HTTP標頭,客戶端將被要求發送表單身份驗證票證的加密值。

您也可以查看關於基於令牌的安全性的following article

+0

我不會建議進入「你自己的代幣」業務。使用經過驗證的東西,例如智威湯遜代幣。或者看看這篇文章的初學者:http://ben.onfabrik.com/posts/dog-fooding-our-api-authentication – leastprivilege 2013-02-16 18:16:46

相關問題