使用Node.js Express,我无法理解当用户尝试登录并且登录失败时flash图像如何工作 - 我想向前端发送flash消息。但事情是闪存数据似乎附加到req.session。我不明白的是,req.session数据不应该仅仅因为用户未经过身份验证而在不同请求中存在。
你可以看到req.session的结构,正如你可以看到的那样,flash消息正在堆积,但我无法在前端读取它们(我正在使用EJS)。
req.session: Session {
flash:
{ loginMessage: [ 'No user found.' ],
error:
[ 'No user found.',
'Invalid username or password.',
'Invalid username or password.',
'Invalid username or password.',
'No user found.',
'No user found.',
'No user found.',
'No user found.',
'Invalid username or password.',
'Invalid username or password.',
如何在前端访问这些Flash消息(使用EJS作为模板)?
感谢
答案 0 :(得分:0)
您需要区分浏览会话和有效的用户会话。当您使用express-session
时,在客户端上设置了cookie。这可能包括也可能不包括有效用户。即使用户未经过身份验证,您仍然可以在客户端设置Flash消息,因为您有一个有效的浏览器会话。
req.session
对于重复的页面查看也是相同的。您甚至可以跟踪登录的不同用户之间的会话。