如何使用Node.js,Express和Mongoose进行身份验证?

Eri*_*rik 51 authentication mongoose node.js express

我使用nodejs + express制作了简单的nodejs应用程序.现在我想让用户认证.我想通过使用mongoose实现会话处理.你能举个例子吗?

ale*_*lex 48

一些有用的链接:

如何在node.js中实现登录身份验证

在node.js和mongodb中创建注册和登录表单

会话管理也不是由Mongoose完成的,而是由connect-mongodb或connect-redis完成的.您可以在此处查看有关如何在实际应用程序中执行用户身份验证和会话管理的示例:

https://github.com/alexyoung/nodepad/blob/master/app.js

您可以在此处找到该应用程序的进一步说明:http://dailyjs.com/tag/lmawahttp://dailyjs.com/2010/12/06/node-tutorial-5/


ale*_*anu 14

只需使用Brian Noguchi的mongoose-auth https://github.com/bnoguchi/mongoose-auth

对于您的问题,这是一个解决方案,它有很好的文档和可扩展性.

编辑

mongoose-auth不再维护.如果你需要使用更新版本的mongoose(即> v3.xx)和express(即> v3.xx),这里是package.json我正在制作的一个文件的摘录(它是hacky,但它的工作原理) ):

"everyauth": "https://github.com/bnoguchi/everyauth/tarball/express3",
"mongoose-3x-types": "~1.0.5",
"mongoose-auth": "https://github.com/cbou/mongoose-auth/tarball/everymodule-fix",
Run Code Online (Sandbox Code Playgroud)

你开始一个新的项目不要使用mongoose-auth,而是试用护照.它提供相同的功能,非常灵活,但它有不同的API.它是机车 MVC框架的一部分,因此它得到了积极的维护.

  • 非常正确,似乎该项目不再维护.AFAIK,现在使用的事实上的lib是[passport](https://github.com/jaredhanson/passport) (3认同)

Dav*_*ros 5

我在这里发布了一个使用mongoose + expressjs的完整auth系统的完整示例,以防你想看看:

nodejs中的简单登录页面使用express和带mongodb的护照