我即将开始开发一个新的ASP.NET MVC应用程序,我也打算为它构建一个iOS移动版本。
我计划使用MVC4Web API作为服务层,它位于业务层的前面,Web应用程序和移动应用程序都可以访问它。
但是,对于如何在此体系结构中实现身份验证和授权,我有点困惑。
通常在MVC应用程序中,一旦用户提交了正确的凭据,我就会调用
FormsAuthentication.SetAuthCookie(username, false);
它将创建一个cookie,然后将该cookie从一个请求来回传递到另一个请求,以维护应用程序中的用户会话。
我很困惑,当从web应用程序访问时,它将如何通过服务层工作。或者当从移动应用程序调用服务时它将如何工作。
发布于 2013-02-17 01:28:01
您可以这样设计Web API,即要求在每次请求时都发送表单身份验证cookie。然后,您将使用此cookie从其中提取当前已通过身份验证的用户的用户名。
但是,在设计API时,通常最好使用比cookies更好的其他身份验证方法。例如,您可以使用Authorization
HTTP头,其中客户端将被要求发送窗体身份验证票证的加密值。
您还可以查看有关基于令牌的安全性的following article
。
https://stackoverflow.com/questions/14913006
复制相似问题