Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/laravel/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 添加flash消息以连接并确保登录_Node.js_Passport.js - Fatal编程技术网

Node.js 添加flash消息以连接并确保登录

Node.js 添加flash消息以连接并确保登录,node.js,passport.js,Node.js,Passport.js,我使用passport local和connect Sure login,因为它允许我轻松重定向回用户最初想要的页面(但由于用户未登录而被重定向到登录)。在用户通过connect Sure login重定向到登录页面后,如何显示flash消息?我使用连接闪存发送闪存消息在重定向前添加消息 req.flash('login_error_msg', 'Login Error!!') 在应用程序中定义您的flash消息标记(登录错误消息)。与本地人一起使用 app.use(function(req,

我使用passport local和connect Sure login,因为它允许我轻松重定向回用户最初想要的页面(但由于用户未登录而被重定向到登录)。在用户通过connect Sure login重定向到登录页面后,如何显示flash消息?我使用连接闪存发送闪存消息

在重定向前添加消息

req.flash('login_error_msg', 'Login Error!!')
在应用程序中定义您的flash消息标记(登录错误消息)。与本地人一起使用

app.use(function(req,res,next){
    res.locals.success_msg = req.flash('success_msg');
    res.locals.login_error_msg = req.flash('login_error_msg');
    next();
});
为处理错误消息创建条件。我使用的ejs引擎,使它根据你

<%if(login_error_msg.length>0){ %>
   <div class="alert alert-danger"> <%= login_error_msg %></div>
<%}%>
0){%>

我是否必须在ensureLoggedIn之前为req.flash添加中间件?由于ensureLoggedIn也充当中间件,我无法在重定向之前添加消息…在app.js文件const flash=require('connect-flash')中,然后在app.use middleware函数app.use(flash())之前使用该消息;不过我只想在一个页面上使用它,所以在本地设置它是没有意义的…你可以这样做res.locals.login\u error\u msg=req.flash('login\u error\u msg','login error!!');当你遇到错误时,如果你不使用本地设置,那么你就无法获得login\u error\u msg键来查看文件