javascript - 登录后对后续请求进行会话验证的最佳实践
问题描述
我正在开发一个使用express-session
Redis 和 MongoDB 的多角色节点应用程序。该应用程序有一个主帐户,在该主帐户下可以有多个具有相应角色的不同帐户的用户可以一次登录。
该数据库具有具有多对多关系的文档。当用户登录时,会话将存在一段时间。我正在使用中间件来验证用户在成功登录后对 API 的任何后续请求。
假设两个用户正在使用同一帐户下的文档,并且他们的会话已经在一段时间之前创建。如果一个用户删除帐户,验证该帐户是否仍然存在于其他用户的最佳做法是什么。
我看到两种情况:-
- 检查中间件中的每个请求是否都存在该帐户。我只是担心它会给数据库带来负担。因为每个进来的请求首先需要验证帐户是否存在。
- 而不是在中间件中进行验证。更新文档时检查帐户是否存在。在这种情况下,当有人尝试查找/创建/更新/删除帐户中存在的任何文档或子文档时,我将使用可重复的逻辑来验证帐户的存在。
你们认为在创建会话后实施帐户存在验证的有效方法是什么。我的会话集合存在于 Redis 中,而文档存在于 MongoDb 中
解决方案
推荐阅读
- linux - 我无法更改我的 linux 权限。我想创建一个 .env 文件
- linq - 用于在另一个集合中填充集合的 LINQ 查询
- vaadin - 今天突然:Java live reload 不可用
- python - Python 对象列表更新
- javascript - 我正在尝试使用 npm parcel -g 命令全局安装 Parcel
- javascript - 如何在 Python 中将请求的 JSON 数组写入 CSV 文件?
- postgresql - 如何将 PostgreSQL 12 生成的列转换为普通列?
- swift - 如何为 UITextField 的 rightView 添加空间和调整图像大小
- reactjs - Highcharts Gantt 上的背景事件
- swift - 如何快速转换主题标签?