node.js - 如何更新节点js中的会话信息
问题描述
我使用 passport.js 进行会话管理,使用 mysql 进行数据库。
我有多个公司供用户使用。和用户在每个公司都有不同的角色。我将用户角色存储在默认公司的会话中。因为我已经在后端实现了基于用户角色的各种权限。
req.user 会给我以下回复
req.user = {
id: 2,
user_name: 'akamboj1@yopmail.com',
firstname: 'akamboj1',
lastname: 'akamboj1',
email_id: 'akamboj1@yopmail.com',
user_access_token: 'a5049f367613d36eb7e20e9a1f4d4b36',
is_active: 1,
created_at: 2018-02-27T05:36:18.000Z,
user_image: 'profile/images/default.png',
roles: '2,3,4,5,8' }
当用户切换到其他公司时,我想更改会话中的用户角色。
这是我的护照序列化和反序列化方法
passport.serializeUser(function (user, done) {
done(null, user.token);
});
// used to deserialize the user
passport.deserializeUser(function (accessToken, done) {
user.getUserByAccessToken(accessToken, function (err, dbUser) {
if (err) {
done(err);
} else {
done(null, dbUser[0]);
}
});
});
知道如何更新会话值吗?
解决方案
推荐阅读
- google-analytics - Google Analytics 管理 API v3 服务不可用
- google-apps-script - 在 GAS 中的所有脚本(包括容器绑定文件)中搜索字符串
- google-app-engine - 无法从 Google App Engine 下载静态文件
- gradle - 如何解决 Gradle 中的“无法设置类型对象的只读属性 'classpath' 的值 ...”错误
- javascript - 获取 Cognito 身份验证事件以在 UI 中显示?
- jmeter - loadrunner的truclient协议中如何调用外部API
- node.js - 通过nodejs、njs脚本语言扩展nginx
- javascript - 从 2 个输入字段设置 React 组件的状态
- azure - 在 Azure 容器实例中安装卷时出错
- reactjs - Vue.js 中有类似 React 中的 createContext 的东西吗?