用于跟踪登录会话的Android App策略

时间:2011-10-09 20:45:37

标签: java android session login httpurlconnection

如果登录成功,我有一些登录并返回带有会话ID的JSON数组的PHP脚本。

在我的应用程序中,我想登录首页并继续浏览正在登录的应用程序。我创建了一个单例类,其中包含从PHP接收的JSON中的会话ID(以及其他一些字段)页。根据用户的操作检查此单例对象的字段“session_id”。

如果用户想要注销,则session_id只会被设置为null,从而注销。

我还使用HttpURLConnection库在登录时POST用户名/密码。

这是处理这种情况的一种不错的方法吗?

2 个答案:

答案 0 :(得分:26)

以下是您应该考虑的一些事项:

  • 一旦您对用户进行了身份验证并在本地存储了session_id,请在每个http请求的标头中发送session_id。这样,您不会为每个请求发送凭据,而是会话ID。如果在会话的服务器端发生了某些事情,则不允许该交易。
  • 注销时,不要只删除应用(客户端)端的session_id。同时向服务器发送注销,以便可以在服务器端终止会话。
  • 如果会话在服务器端被终止,您将要做两件事中的一件A)提示用户重新登录。 B)使用商店凭据重新登录,创建新的会话ID并将其再次存储在您的单身人士中。

这将保证比在您的应用端清除会话ID更多的安全性和功能。

答案 1 :(得分:0)

这个策略可能会奏效。在我工作的应用程序中,我将登录的返回数据存储在android共享首选项中。如果用户退出,我清除了首选项。这允许用户保持登录状态,即使他们关闭应用程序并稍后再回来。我有一个身份验证令牌,我检查了用户的登录是否仍然有效。

您如何计划处理持久登录? sessionID是否会过期?您可能想要考虑这些情况,否则一旦用户登录,他们将永久登录或只要应用程序处于打开状态。