我使用的是标准的MVC 5身份会员资格,因此可以对用户进行身份验证以使用我网站上的功能。除登录和注册外,所有操作都需要有人登录。
我想使用PhoneGap获取我的移动设备html并将其转换为移动应用程序。我打算用ajax对我的行为进行所有调用。
如何在不驻留在同一服务器上的html页面上执行此操作?如何记录某人,然后允许他们拨打电话?
答案 0 :(得分:1)
使用新的MVC 5身份成员资格,从移动设备验证用户非常简单。实质上,从设备向服务器发出的每个HTTP请求都将包含一个承载令牌来授权该请求。
当您的Web API方法收到请求时,它将识别通过承载令牌创建它的用户。这允许您在Web API控制器中使用标准Authorize
属性,我确信您习惯在MVC控制器中使用该属性。这是这个过程的basic example,但基本上是这样的:
假设您是从移动设备执行此操作,存储令牌的一些选项是HTML5本地存储,SQLLite等。没有“登录”这样做 - 只有对服务器的请求授权。当然,用户不知道这一点,因此模拟典型的登录体验非常容易。以下是扩展上述一个的简短示例:
从这里处理承载令牌的一种方法是将其存储在SQLlite或本地存储中,以便您可以轻松访问并包含对您所做服务器的任何更多请求。您只需要考虑令牌已过期(由您设置,查看我发布的链接),并相应地设计您的应用程序。您可能只想在用户使用该应用程序时仅将持有人令牌保留在移动设备上,从而收紧您的安全性。完成后,将其从设备上的存储中删除,用户在打开应用程序时必须再次进行身份验证过程(即“登录”)。
此外,此视频Securing .Net Web APIs绝对值得关注。