【问题标题】:How to identify user from server for processing requests如何从服务器识别用户以处理请求
【发布时间】:2017-03-04 14:22:37
【问题描述】:

我想知道当应用程序的任何请求完成时如何从服务器识别用户。就像我已经登录应用程序并想要更新我的个人资料并将请求发送到服务器一样。服务器将如何识别请求来自特定用户?我使用 PHP 作为服务器语言并使用共享首选项存储用户会话。

任何帮助都会有所帮助。

【问题讨论】:

  • 你应该有一个你的服务器和应用程序都可以理解的唯一 id,所以在这种情况下,我认为它是用户 id,你可以在数据库中查询时使用,在制作时包括这个用户 id服务器请求就是这样
  • 我想到了这个选项。如果需要,用户 ID 应该是唯一的和加密的。但我想知道是否还有其他选择?感谢您的回复
  • 用户ID应该如何存储?使用共享偏好?

标签: java php android android-studio


【解决方案1】:

完成此结果的最简单方法是将唯一标识符附加到用户(随机生成)。将此信息与用户的时间、名称和标识符一起存储在数据库中。也坚持在应用程序中,共享偏好是好的。但考虑使用数据库。一个伟大的领域是 android。然后,当任何请求发送到服务器时,发送用户名及其标识符,使用此信息执行查询搜索。从而返回为该用户存储的所有信息。

有意义吗?还有其他复杂的方法可以根据您的需求量身定制。共享偏好的概念是存储小的瞬态信息。使用数据库可以更安全地异步控制您的数据和托管操作,这将在以后遇到流量时发挥重要作用。考虑使用网络令牌进行通信。 JSON Web Token (JWT) 是一个开放标准 (RFC 7519),它定义了一种紧凑且自包含的方式,用于在各方之间安全地传输信息作为 JSON 对象。此信息可以验证和信任,因为它是数字签名的。 JWT 可以使用密钥(使用 HMAC 算法)或使用 RSA 的公钥/私钥对进行签名。

【讨论】:

  • 我想到了这种方法。但想知道共享偏好对于这种情况是否安全?
  • 检查更新的答案。但是如果您的操作很简单,那么共享首选项是可行的方法,因为如果您想要保存的键值集合相对较少,请使用它。
  • 我可以将用户 ID 保存为共享首选项,并使用 POST 请求将数据与用户 ID 一起发送到服务器吗?
  • 好吧,你用什么 http 库 volley?
  • ya..它的凌空抽射。
【解决方案2】:

成功登录应用后,将userId 保存到本地(在SQLite 或SharedPreferences 等中)。
现在每次来自服务器的用户请求,将userId 添加到参数列表中。
在服务器端,首先检查userId,如果是null或者数据库中不存在,则回显String错误信息,否则继续。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-30
    • 2011-09-02
    • 2021-10-27
    • 2018-06-23
    • 1970-01-01
    相关资源
    最近更新 更多