node.js - 创建多个 LocalStrategies 并能够与它们一起使用会话
问题描述
我正在尝试为用户和房东使用不同的 localStrategies 及其工作,但问题是,我想让用户或房东在网站上保持会话。用户将被保留在带有会话的网站中,但对于房东来说,这不会发生。我的用户身份验证代码是:
passport.use(new LocalStrategy(User.authenticate()))
passport.use('landlord', new LocalStrategy(Landlord.authenticate()))
passport.serializeUser(User.serializeUser())
passport.serializeUser(Landlord.serializeUser())
passport.deserializeUser(User.deserializeUser())
passport.deserializeUser(Landlord.deserializeUser())
现在我使用 currentUser 属性res.locals
并将其与 req.user 相等。
app.use((req, res, next) => {
res.locals.currentUser = req.user
res.locals.success = req.flash('success')
res.locals.error = req.flash('error')
next()
})
有什么方法可以将房东添加到会议中,req.
以便我可以将其用于会话并保持房东登录,或者可能req.user
同时为房东和用户使用。
解决方案
推荐阅读
- haskell - 我们如何将 Haskell 数据结构序列化和反序列化为字节串?
- reactjs - 将 ChartJS 与 React 一起使用时出现错误消息
- java - java - 如何从数组列表中对java中的存储过程调用进行多线程调用?
- r - install.packages() 与 setwd() 有问题
- kotlin - Dagger2 - 如何使用 @Named 和 @BindsInstance
- java - 提取日期时出现休眠查询错误
- java - 仅当我将其从 UI 线程重新调度到 UI 线程时,Android 动画才有效
- sql - SQL JOIN 返回比预期更多的记录
- laravel - 使用 eloquent orm 按 Laravel 5.5 中的列数排序
- sql-server - 我应该在第二列上使用 LIKE 还是 CONTAINS ?