4

我正在开发一个组织者,其中包含通过网站保存和管理的用户任务。对于我使用 ASP.NET MVC 4 和主干.js 的网站。现在我想用 PhoneGap 创建一个移动应用程序。用户将能够登录/注册,然后他将能够在旅途中使用他的手机/平板电脑管理他的任务。所以我的问题是我不知道如何登录然后如何从服务器获取任务。

现在我正在使用backbone.js,并且我在服务器上有一个管理任务的api。我的想法只是使用来自 ASP.NET MVC 的相同代码(仅 html、css、js),它应该很容易工作,但是对于该 api,用户必须被记录,为此使用简单的成员资格和网络安全,它们是用于后端部分,我不会在移动版本中使用,我不确定用户将如何登录。

另一个想法是检查用户凭据(向服务器发出 AJAX 请求,可以说明用户是否输入了有效的登录数据),以便在手机上拥有我的用户 ID(本地存储或类似的东西),然后在不需要用户登录的服务器,它将管理用户的任务(我为其传递用户 ID)。但我认为这将是一个巨大的安全漏洞,因为每个人都只能通过输入用户 ID 来更改任务。我已经从 Raymond Camden 找到了一个登录示例(请参见此处),它可能有助于这个想法,但它仅适用于登录部分(它仅登录设备,但我解释的安全漏洞问题仍然让我担心)

因此,如果您能给我一些想法,如何实现设备上的登录以及如何从服务器获取用户的数据,我将不胜感激。即使只是概念性的想法,我也会非常感激。

4

2 回答 2

2

您可以通过在您的控制器文件夹中创建一个 Web API 控制器来公开您的服务器端代码来创建一个 Web API 接口。对于身份验证,您可以通过在授权标头中提供用户凭据来使用 HTTP 基本身份验证。现在在您的 Web API 消息处理程序中,您需要读取用户的凭据并授权用户。这是一篇关于这个主题的好文章。. 使用基本身份验证的一个缺点是,对于每个请求,您都需要访问 AD 数据库以授权用户。为防止这种情况,您可以在用户第一次通过身份验证后创建一个安全令牌,然后将其传递给客户端,以便对于未来的所有请求,客户端都使用此安全令牌。如果性能对您来说不是什么大问题,基本身份验证就可以了。

于 2013-03-18T18:48:32.503 回答
0

我也有同样的情况。为了解决这个问题,我使用了 Thinktecture 框架 Session Token。它允许使用例如基本身份验证进行一次身份验证,然后您可以请求可以在请求之间传递并可以存储在本地存储中的令牌。这样您就不必将用户和密码存储在不安全的位置,也不必对每个请求进行身份验证。

于 2013-11-10T15:58:30.397 回答