1

我即将开始开发一个新的 ASP.NET MVC Web 应用程序,我也打算构建一个 iOS 移动版本。

我计划使用 MVC 4 Web API 作为服务层,它将位于业务层的前面,并且可以被 Web 应用程序和移动应用程序访问。

但是,我对如何在此架构中实现身份验证和授权感到有些困惑。

通常在 MVC 应用程序中,一旦用户提交了正确的凭据,我会调用

FormsAuthentication.SetAuthCookie(username, false);

这将创建一个 cookie,然后从一个请求到另一个请求来回传递,以维护应用程序中的用户会话。

当从 Web 应用程序访问时,我对这将如何通过服务层起作用感到困惑。或者从移动应用程序调用服务时它将如何运行。

4

1 回答 1

0

您可以设计您的 Web API,使其要求在每个请求上都发送表单身份验证 cookie。然后,您将使用此 cookie 从中提取当前经过身份验证的用户的用户名。

但是在设计 API 时,通常最好使用一些其他的身份验证方式而不是 cookie。例如,您可以Authorization在要求客户端发送表单身份验证票证的加密值的地方使用 HTTP 标头。

您还可以查看following article关于基于令牌的安全性。

于 2013-02-16T17:28:01.247 回答