使用node.js和angularjs将未经身份验证的用户重定向到默认URL

时间:2015-12-19 09:22:26

标签: javascript angularjs node.js authentication passport.js

我使用了node.js restify和angularjs来创建一个没有用户管理的Web应用程序。现在,我想添加用户管理功能。

用户需要登录才能访问网络应用。如果未经过身份验证,则会将其重定向到www.webroot.com/login.html的默认网址。

我正在查看正确的node.js模块来实现此功能,但目前还不知所措。引起我注意的2个模块是passport-restifypassport-http

https://www.npmjs.com/package/passport-restify https://www.npmjs.com/package/passport-http

以下是实现此功能的一些问题;

  • 哪个node.js模块可用于实现此用户登录功能?这两者有什么区别?

  • 是否使用angularjs或node.js完成了实际的网址重定向操作?

用户登录的示例代码示例是什么?到目前为止,我找到了文档,但很少有示例代码。

2 个答案:

答案 0 :(得分:1)

为了向应用程序提供身份验证系统,您需要保护api服务器端以及我使用此示例的视图

https://scotch.io/tutorials/authenticate-a-node-js-api-with-json-web-tokens

请检查这可能有用

答案 1 :(得分:0)

此模块restify-ensure-login非常符合您的要求。 https://www.npmjs.com/package/restify-ensure-login

  

此中间件可确保用户已登录。如果请求是   如果未经身份验证,请求将被重定向到   登录页面。 URL将保存在会话中,因此用户可以   方便地返回到最初请求的页面。

由于您现有的代码库正在使用,并且该模块使用了restify,因此使用Express的大多数示例都不会那么麻烦。