首页 > 解决方案 > 登录后对后续请求进行会话验证的最佳实践

问题描述

我正在开发一个使用express-sessionRedis 和 MongoDB 的多角色节点应用程序。该应用程序有一个主帐户,在该主帐户下可以有多个具有相应角色的不同帐户的用户可以一次登录。

该数据库具有具有多对多关系的文档。当用户登录时,会话将存在一段时间。我正在使用中间件来验证用户在成功登录后对 API 的任何后续请求。

假设两个用户正在使用同一帐户下的文档,并且他们的会话已经在一段时间之前创建。如果一个用户删除帐户,验证该帐户是否仍然存在于其他用户的最佳做法是什么。

我看到两种情况:-

  1. 检查中间件中的每个请求是否都存在该帐户。我只是担心它会给数据库带来负担。因为每个进来的请求首先需要验证帐户是否存在。
  2. 而不是在中间件中进行验证。更新文档时检查帐户是否存在。在这种情况下,当有人尝试查找/创建/更新/删除帐户中存在的任何文档或子文档时,我将使用可重复的逻辑来验证帐户的存在。

你们认为在创建会话后实施帐户存在验证的有效方法是什么。我的会话集合存在于 Redis 中,而文档存在于 MongoDb 中

标签: javascriptnode.jsmongodbmongooseredis

解决方案


推荐阅读