在RESTful Web应用程序中管理登录信息

时间:2012-01-19 10:15:41

标签: rest architecture restful-architecture

在RESTful应用程序中,两个请求之间没有维护状态。每个请求都被视为一个全新的请求,即使它是由同一个用户发送的。即没有会话。

在这种情况下,REST应用程序如何处理用户登录信息?

  1. 是否在成功登录后,服务器生成一个安全令牌并将其发送给客户端,客户端将其发回给每个请求后呢?
  2. 如果以上情况属实,安全令牌存储在服务器中?数据库? (记住:没有会话)。

2 个答案:

答案 0 :(得分:1)

  

是否在成功登录后,服务器生成一个安全令牌并将其发送给客户端,客户端将其发回给每个请求?   如果以上是真的,安全令牌存储在服务器中?数据库? (记住:没有会话)。

Ehrm。向客户端发送一个令牌,该令牌将在每个后续请求中发回,仅从服务器端的数据库中检索与该令牌相关的信息? 这被称为会话。除了将信息存储在文件而不是数据库中之外,它正是PHP会话所做的。你正在重新创建会话。

无论如何,我认为“没有会议,没有国家”的口头禅被高估了,而且不太实际。我认为存储包含令牌的简单cookie是可以的,这样您就可以识别用户,并将(某些)数据与该用户相关联。无论如何,我认为不存储应用程序状态(例如,用户以前做过什么,以及他现在做了什么)是最重要的。

答案 1 :(得分:0)

或者您可以在令牌中加密所有内容,每个请求都可以从该令牌获取所有用户信息,包括姓名,时间戳等。

服务器唯一需要知道的是编码/解码算法。

更好的是,服务器可以调用身份验证服务(可能是完全独立的框)来验证和授权用户。

简单总是好!