2013-02-16 43 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

相关问题