【问题标题】:Invalidating sessions on password change - Sailsjs更改密码时使会话无效 - Sailsjs
【发布时间】:2015-10-23 17:21:20
【问题描述】:

当特定用户的密码更改后,我如何使他/她的活动会话无效?

Sails 不提供对全局会话的访问,每个会话只能通过控制器中的 request 对象访问,因此我找不到访问特定用户所有活动会话的方法。

如果我不序列化会话,我可以直接查询sessions 集合,因为我使用 mongo 作为会话存储,但我找不到访问 mongo 适配器以执行查询的方法。

【问题讨论】:

    标签: sails.js session-state login-control


    【解决方案1】:

    您有两个选项来执行您的 mongo 查询:

    1. npm install mongodb 只需使用它来手动访问您需要的内容 (https://www.npmjs.com/package/mongodb)
    2. 创建一个“哑”模型(如果您没有任何模型已经在使用 Mongo,只是为了给 Waterline 一种连接到 Mongo 的方法)或使用现有模型并简单地使用 Model.native() (http://sailsjs.org/documentation/reference/waterline-orm/models/native)李>

    【讨论】:

    • 感谢您的意见。我曾想到第二个选项,但认为它不明智,因为会话和模型由具有不同配置的不同适配器处理。另外,我真的很想避免手动访问会话。不是有一些标准程序人们申请这个吗?因为否则,如果您在一个会话中更改密码,您仍然会在所有其他活动会话中保持身份验证。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-07-06
    • 2019-10-15
    • 2012-06-26
    • 1970-01-01
    • 2012-01-19
    • 2015-01-02
    • 2014-07-03
    相关资源
    最近更新 更多