首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node+Express:基于页面和用户类型的多个身份验证策略

Node+Express:基于页面和用户类型的多个身份验证策略
EN

Stack Overflow用户
提问于 2013-01-07 22:52:17
回答 1查看 3K关注 0票数 2

我是节点新手,我想开始构建以下应用程序:

该应用程序应该是某些企业提供的服务目录。用户应该能够与列出的服务提供商一起启动和跟踪流程的状态。

因此有四个数据库:

  1. 管理员
  2. 用户
  3. 企业
  4. 进程

三种类型的用户:

  1. 管理=我(身份验证: username+password)
  2. 业务(认证: username+password)
  3. 用户(身份验证: facebook)

管理员应该拥有对所有数据库的CRUD权限。企业只能对自己的配置文件(提供的服务)执行CRUD操作,并更新相关流程。用户可以对正在进行的进程执行CRUD。

我读过很多关于npm模块的文章,比如everyauth,mongoose,passport,但是我很难理解它们与mongodb等数据库的关系,特别是当我有三种不同权限和四个数据库的用户时。我不知道页面如何检查三种不同类型的cookie。

我应该创建三种不同的登录和注册系统吗?如果是,怎么做?

谁能帮我out..not与code..but的概念或相关的教程。

护照需要用户名和密码配置的下面是

我不明白的是:

  1. 生成的数据库在哪里?
  2. 如何连接稍后可以访问的mongodb数据库?
  3. app.get()应该如何将用户重定向到相应的登录页面?
  4. 如何对三个不同的登录页面(adminLogin、businessLogin、userLogin)以及三个相应的数据库(管理、业务、用户)实现这一点?
  5. 如何检查在三个不同的主页(adminHome、businessHome、userHome)上是否有正确类型的cookie?
EN

回答 1

Stack Overflow用户

发布于 2013-01-08 02:04:25

我的建议:

  1. 用“快件”。
  2. 用“护照”。请注意,"mongoose-auth“是建立在"everyauth”之上的,它们将工作得很好,但我喜欢“护照”中的“策略”概念的灵活性,而且“表示”集成更好。您可以使用任何数据库/方法(如LDAP)和Passport策略来存储凭据,这将在护照教程中解释。此外,Passport Facebook的策略已经被定义并随时可以使用。
  3. 如果可能的话,为这三个用户组中的每一个都有单独的快速路(URL)。在相同的路由上管理多个身份验证策略具有欺骗性的复杂性和不可靠性。
  4. 企业或用户不太可能需要直接访问数据库。因此,数据库只需要一个web服务器来连接数据库服务器。因此,如果您的web服务器是安全的,您可能根本不需要DB身份验证,而且即使您确实需要它,该连接也仅供管理员使用。但是,您应该阅读这些蒙戈安全建议以了解潜在的安全问题。
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14205526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档