我正在开发一个应用程序,该应用程序具有PHP类以连接到Web服务器以进行登录和其他数据库事务,SQLite充当本地数据库来存储用户凭据。
我不确定SQLite是否维护用户会话,但它会保持登录状态,直到用户单击注销按钮。
我将如何实现会话(或其他内容),以便用户可以在整个状态中根据用户 ID 进行其他数据库事务?
有人说在PHP中建立会话,有人说使用首选项。
对我来说最好的解决方案是什么?
也许我不应该问这个问题,但是,好吧,你的网络服务是不是 RESTful ?
如果是,我读了很多关于不将用户会话保留在服务器上的讨论,而是在每个请求时对用户进行身份验证(使用他的凭据或更安全的授权系统)。
否则,是的,您可以在用户进行身份验证时在服务器端创建 PHP 会话。您将会话存储在包含fk_user_id字段的特定表中,并在身份验证过程结束后将session_id发送回客户端应用程序(在您的情况下为 android 应用程序)。然后存储session_id(例如在用户首选项中),并与每个请求一起发送,以便检索谁在询问数据,这要归功于会话表及其fk_user_id字段。