我有一些问题
我在我的应用程序中使用快速会话中间件
工作
但是
它无法在任何特定路由器上运行。
我的代码如下
// app.js
app.use(session({
secret: 'D$YTRH#%#$@^$#YR',
resave: false,
saveUninitialized: true,
}))
//assign session in outside
app.get(/*, (req, res, next)=>{
req.session.outSide = "outSideBlah"
next()
}
//my session Check middleware
app.get('/*', (req, res, next)=>{
console.log(req.session._inSide)
console.log(req.session._outSide)
next()
}
const auth = require('./routes/auth.js')(express)
app.use('/auth', auth)
// auth.js(我的路由器)
//assign session in router ( inside)
module.exports = (express) => {
const auth = express.Router()
auth.post('/login', (req, res)=>{
req.session._inside = 'insideBlah' //Assign a session here
............some auth code ......
}
return auth
}
登录后
在我的会话中检查中间件
console.log(req.session.inSide) // undefined
console.log(req.session.outSide) // "outSideBlah"
即使我在auth.js中指定了req.session.inSide
req.session.inside未定义
有什么问题?
为什么我无法访问路由器分配的会话(auth.js)?
有人帮帮我..谢谢......答案 0 :(得分:0)
此外,我认为您应该使用*
代替/*
。