使用基于会话的身份验证系统检查登录用户状态的首选方法是什么。在我看来,我无法避免对每个请求查询数据库。该会话在单个时间点为我提供了有效的访问权限,但是为了保持信任,每个请求仍然需要从某些数据存储中检查用户的状态。
因此,对于每个请求,不仅会话必须在那里,而且不会过期,并且保留一些用户信息,例如ID,状态等。
对于每个请求,我们必须通过查询用户信息所在的数据存储来检查“实时”用户状态。例如在有人被阻止时保存。
这似乎是唯一正确的方法,但是每个请求都意味着数据存储查询。这是必须做的吗?
因此,对于每个请求,我们都信任会话数据的内容,会话中的用户状态应为数据存储中用户的状态。因此,如果管理员阻止了该用户,则数据存储将更改用户状态,但无论如何也需要更新会话。
第二种方式,因为会话是在一个客户端和服务器之间建立的。这意味着,需要某种会话管理机制。实现太多了,不是吗?