1

抱歉标题含糊不清,但我正在开发 Sencha Touch 移动应用程序并构建了一个基于 REST 的 WCF Web 服务来提供数据,并且需要找出处理用户登录并在整个应用程序中保持会话活动的最佳方式.

现在因为我需要使用 JSONP 来连接 Web 服务,这限制了身份验证和会话处理的选项。我可以将用户的凭据保存在应用程序的本地存储中,并在每次调用服务时传递它们,但这不是最好的解决方案。有些人提到将凭据传递给 Web 服务上的登录方法并传回 sessionid,然后在每次进一步调用时发送该 sessionid。但是,我不确定如何首先使用 WCF 创建会话,以及如何使用传入的 sessionid 使其保持活动状态。

任何人都可以推荐一种实现这一目标的技术吗?

4

2 回答 2

1

jsonp 是从外部服务获取数据的好方法。但是由于您是 web 服务的所有者,您可以在 http 响应中添加一个 Access-Control-Allow-Origin: * 标头并切换到 ajax 模式。然后,您可以使用标准身份验证过程。

于 2012-04-14T17:29:48.207 回答
0

如果您的 web 服务旨在供其他开发人员使用,则凭据将在客户端应用程序中配置,因此我将使用身份验证密钥(例如 google-maps api)并让 web 服务无状态。

如果您需要对用户/通行证进行身份验证,您提出的解决方案与 http 身份验证相同。如果您没有理由重新实现自己,请使用标准 http 身份验证(如果在您的场景中可用)。

于 2012-04-15T10:37:26.840 回答