【问题标题】:Node.js based Authentication & Authorisation framework?基于 Node.js 的身份验证和授权框架?
【发布时间】:2015-07-17 08:18:56
【问题描述】:

在我认为只对身份验证有用的 Passport.js 中搜索此类框架的结果。

在 PHP 世界中,有 Sentry Cartalyst 非常适合

  • 身份验证
  • 授权(组)
  • 列表项
  • 用户激活
  • 密码重置
  • 节流

Node.js 还不够成熟,没有这么成熟的开源框架吗?

【问题讨论】:

  • 在节点中,这些任务通常被分成几个工具而不是一个工具来完成所有工作,允许您替换其中的一部分来微调您的应用程序以满足您的特定需求。不过,其中一些部件可能必须手工制作。
  • 将这个功能组合在一个框架中似乎更合乎逻辑。
  • 有一些框架可以完成从路由到模板到身份验证到数据库处理和建模的所有工作,如果这正是您所寻找的。我不喜欢所有当前可用的,所以我不会列出任何一个。
  • 可以在数据库(如 MongoDB 或 MySQL)和服务提供商(例如,用于发送电子邮件的 Mandrill 或 Sendgrid)级别进行替换。
  • node.js 目前处于一个有点狂野的西部阶段,它是多么的新奇和流行。有很多新的框架和工具正在构建、发布,但经常被放弃。

标签: node.js node-modules


【解决方案1】:

node.js 是建立在模块之上的,模块是建立在模块之上的,等等。通常意义上的框架并不存在。相反,您拥有的是应用程序的起点,通常称为生成器,然后您拥有实现功能的模块。当然不需要生成器,您可以从头开始。

有一些模块对您来说非常有用,以至于它们感觉像是框架,但归根结底,它们只是一个整体的一部分,一个扩展现有模块的模块。 Express 就是一个很好的例子。它包装了 http.Server 并为您处理请求回调,允许您将回调链接到单个请求回调(称为中间件)上,最终导致使用数据响应客户端(通过路由)。

但是,express 所做的只是路由。它不做模板、电子邮件、数据库工作、身份验证、数据建模,什么都没有。所有这些都必须作为中间件添加,并且通常通过使用实现该功能的现有模块来完成。

现在,回到生成器。可能最流行的 Express 生成器是 express generator,然而,它附带的只是 express、一些基本的中间件、错误处理和模板引擎。您需要自己安装和实现应用程序的其他部分(例如身份验证)。这对于 node.js 来说是正常的。此时,您需要决定您的应用程序需要什么,您希望它如何实现,然后找到实现这些目标的模块(或自己编写模块,因为通常不存在完全符合您要求的模块。 )


我说过我不会这样做,但是,Loopback 是另一个模块和生成器(环回开发人员称其为框架,我称其为生成器,无论如何)构建一个快速应用程序(包装在环回模块中),但它几乎内置了您正在寻找的所有东西。我不使用它,因为我觉得它做的太多了。当我用它构建应用程序时,我对不知道大多数应用程序如何工作感到不舒服,因为我没有构建它,我只是插入了我的数据。它确实节省了前期时间,但是当涉及到不支持开箱即用的自定义工作时,它变得非常耗时。

【讨论】:

  • 谢谢,现在有意义了。
【解决方案2】:

如果您正在寻找一个完整的 CRUD 用户管理系统,那么您无法击败 Stormpath 这样的系统。

使用他们的 express.js 库可以立即为您提供一个完整的 CRUD 系统(使用 Node / Express / Restify / Loopback / Python / Django / Flask / 等)库来管理/与您的用户一起工作。

这是他们的 express.js 库文档:https://docs.stormpath.com/nodejs/express/

基本上,他们所做的是:

  • 他们会存储您的用户帐户。
  • 您使用他们的中间件来创建/登录/管理用户。
  • 您可以使用他们的中间件通过登录、组、API 身份验证等来限制页面。
  • 您可以使用他们的库来搜索/排序/创建/更新/删除用户/API 密钥/应用程序/组。
  • 它的功能非常完整,并且有据可查。

我是上面这个库的作者,所以有点偏激,但说实话还是蛮有用的=)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2015-05-12
    • 1970-01-01
    • 2022-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-02-07
    • 2011-03-17
    相关资源
    最近更新 更多