Node.js 身份验证失败后使用CSS响应用户。(护照)

Node.js 身份验证失败后使用CSS响应用户。(护照),node.js,authentication,passport.js,passport-local,Node.js,Authentication,Passport.js,Passport Local,我有一个网站,允许用户登录点击登录,这将弹出一个引导模式,而不重定向用户。我在许多网站上看到,如果您登录失败,您将继续使用该路径,并且将出现一条消息,通知您登录失败。我想用passport local实现这一点,在身份验证失败后,我可以简单地显示一些CSS,同时仍保持引导模式 然而,我所能做的似乎只是显示一个req.flash,似乎在身份验证失败后必须重定向,或者显示一个错误 router.post("/login", passport.authenticate("local", {

我有一个网站,允许用户登录点击登录,这将弹出一个引导模式,而不重定向用户。我在许多网站上看到,如果您登录失败,您将继续使用该路径,并且将出现一条消息,通知您登录失败。我想用passport local实现这一点,在身份验证失败后,我可以简单地显示一些CSS,同时仍保持引导模式

然而,我所能做的似乎只是显示一个req.flash,似乎在身份验证失败后必须重定向,或者显示一个错误

router.post("/login", passport.authenticate("local", 
{
    successRedirect: "/profile",
    failureRedirect: "/",
    failureFlash : true
})
);

目前,这就是我所能做的。是否可以按照我提到的方式进行操作而不重定向?护照文件中没有显示这一点。

当然,你可以做任何你想做的事。官员说:

app.post(“/login”,
passport.authenticate('local'),
功能(req、res){
//如果调用此函数,则验证成功。
//req.user包含经过身份验证的用户。
res.redirect('/users/'+req.user.username);
});

默认情况下,如果身份验证失败,Passport将以401 Unauthorized状态响应,并且不会调用任何其他路由处理程序。如果身份验证成功,将调用下一个处理程序,并将req.user属性设置为已验证的用户


因此,您所要做的就是在客户端逻辑中处理401响应,然后根据它显示一条消息/CSS。

这是我的问题,我不知道如何在客户端处理401响应。你有什么好的指南可以推荐给我吗?你用什么做前端?或者您只是直接从节点提供模板?我为前端呈现ejs文件。我不是ejs专家,但这看起来类似于: