2017-01-13 74 views
0

我有一个node.js web应用程序,我正在努力让用户登录并进行身份验证。我使用帕格来模板,mysql和express.js。如何告诉客户他们输入了错误的密码?

我使用bcrypt来散列密码,这就是正确的。我的问题在于密码不正确时应该怎么做,以及如何在服务器上进行检查时告诉客户端。

最初我使用的是socket.io,但我离开了那个。然后,我使用重定向到/login?error=true。现在我正在使用帕格模板,它无法找到视图。一种解决方案是简单地重定向到一个全新的页面,但我觉得我应该能够在没有重定向的情况下完成此操作。

我看到res.json(),但是当我使用它时,客户端呈现它,并且最终得到一个空白页面,这就是我发送的json。有没有办法发送json,所以我可以用json数据客户端做些什么,而不是让它只显示数据?

将数据从服务器发送到客户端的最佳方式是什么,最好不要重定向?

我正在调查AJAX现在,这似乎有潜力。我遇到的问题是,如果我使用res.sendres.json它仍呈现数据,而不是将它传递给ajax调用的回调。建议?

+0

注意:不要向用户指出它是不正确的登录ID或密码。 – zaph

回答

0

通常在表达式中,以及您拥有路由的任何文件中,您可以实施auth服务以确保它们已登录,甚至可以看到其余的api。通常我会给用户使用令牌,一旦他们通过认证,我会让他们看到其余的。您也可以使用像ui-router这样的服务并为您的应用程序创建状态,如果它们没有正确的登录凭据,通常它们会停留在主页上,这将是重定向。您也可以通过模式或其他方式提醒他们说明无效的电子邮件/密码。

相关问题