在RESTful应用程序中,两个请求之间没有维护状态。每个请求都被视为一个全新的请求,即使它是由同一个用户发送的。即没有会话。
在这种情况下,REST应用程序如何处理用户登录信息?
答案 0 :(得分:1)
是否在成功登录后,服务器生成一个安全令牌并将其发送给客户端,客户端将其发回给每个请求? 如果以上是真的,安全令牌存储在服务器中?数据库? (记住:没有会话)。
Ehrm。向客户端发送一个令牌,该令牌将在每个后续请求中发回,仅从服务器端的数据库中检索与该令牌相关的信息? 这被称为会话。除了将信息存储在文件而不是数据库中之外,它正是PHP会话所做的。你正在重新创建会话。
无论如何,我认为“没有会议,没有国家”的口头禅被高估了,而且不太实际。我认为存储包含令牌的简单cookie是可以的,这样您就可以识别用户,并将(某些)数据与该用户相关联。无论如何,我认为不存储应用程序状态(例如,用户以前做过什么,以及他现在做了什么)是最重要的。
答案 1 :(得分:0)
或者您可以在令牌中加密所有内容,每个请求都可以从该令牌获取所有用户信息,包括姓名,时间戳等。
服务器唯一需要知道的是编码/解码算法。
更好的是,服务器可以调用身份验证服务(可能是完全独立的框)来验证和授权用户。
简单总是好!