我有一个node.js网络应用程序,我正致力于让用户登录并进行身份验证。我使用pug来模拟thing,mysql和express.js。
我使用bcrypt来哈希密码,这一切都正常。我的问题在于密码不正确时该怎么做,以及如何在服务器上进行检查时告诉客户端。
最初我使用的是socket.io,但我离开了。然后,我使用重定向到/login?error=true
。现在我正在使用哈巴狗模板,它无法找到视图。一种解决方案是简单地重定向到一个全新的页面/loginfailure
,但我觉得我应该能够在没有重定向的情况下完成此任务。
我看到res.json()
,但是当我使用它时,客户端会呈现它,我最终会得到一个空白页面,它只是我发送的json。有没有办法发送json所以我可以用json数据客户端做一些事情,而不是让它只渲染数据?
将数据从服务器发送到客户端的最佳方法是什么,最好不要作为重定向?
我现在正在研究AJAX,这似乎有潜力。我遇到的问题是,如果我使用res.send
或res.json
,它仍会呈现数据,而不是将其传递给ajax调用的回调。建议?
答案 0 :(得分:0)
通常在快递,以及您拥有路线的任何文件中,您都可以实施身份验证服务,以确保他们已登录,甚至可以查看其余的api。通常我会给用户提供令牌,一旦他们通过身份验证,我会让他们看到其余的。您还可以使用ui-router等服务为您的应用创建状态,如果他们没有正确的登录凭据,他们通常会留在主页,这将是重定向。您也可以使用模态或无效的电子邮件/密码提醒他们。