首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Node.js应用程序的授权方法和设计模式

Node.js应用程序的授权方法和设计模式
EN

Stack Overflow用户
提问于 2012-11-25 06:23:49
回答 4查看 46.3K关注 0票数 84

我正在建立一个内部企业软件平台的多页管理界面。考虑一下将各种API、数据库查询和shell脚本捆绑在一起的大量粘合逻辑。

我们将使用node.js、express框架(包括jade模板)和LDAP进行身份验证。

我正在努力寻找有关节点应用程序中授权的设计模式和最佳实践的信息。最好,我希望使用基于角色的模型,因为我的用户熟悉这种方法及其护理和喂养。

我是node.js的新手,所以请不要假设我已经看过一个模块或流行的博客文章。很可能有大量的信息,而我只是不知道该去哪里找。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2014-07-13 21:02:51

根据您的第一个问题,您希望在NodeJs中实现一些授权流程。我已经探索并使用了NodeJs的多个API。我更喜欢为企业应用程序提供以下API。

用于身份验证的

  • PassportSatellizer,如果在AngularJS中开发SPA (前端)。用于授权的
  • ACL。基于角色的方法和REST API的安全性。如果你想使用RABC,ABAC,我想提一下casbin

MVC Easy和我最喜欢的设计模式和框架:

  • 框架,SailsJs。它的准备就绪和模块化的架构。易于维护。SailsJs还预先配置了Socket.io,使用它你可以在你的SailsJs中创建实时模块,小部件,聊天小部件,你可以使用project.
  • Express并设计你自己的自定义Socket.io项目结构。这也是流行的和健壮的。使用单独的缓存或会话层总是很好的,因为它不会阻碍您将云上的应用程序扩展到第n个实例。
  • 您可以使用RedisSocket.io创建实时功能,如Geo-location、用户在线/离线、聊天、推送通知等。
  • ORM:Waterline。因为其简单的查询方法。Waterline对象关系映射支持PostgreSQL、MySQL、MongoDB等..
  • 我最喜欢的视图引擎:EJS。它也是SailsJs的内置和默认视图引擎,这就是为什么我是SailsJs的粉丝。

我想,我已经介绍了在NodeJs中创建企业应用程序的所有重要信息。我不是说,上面的包是最好的,但在协作方面,它们可以最适合任何企业场景。还有其他已知的包,您可以根据自己的需求使用它们。

票数 66
EN

Stack Overflow用户

发布于 2012-11-27 16:13:29

以下是一些入门信息:

  • passport是一个流行的authentication
  • express auth example模块演示了如何在没有额外modules
  • express route middleware example的情况下实现简单的身份验证说明如何在nodejs.org上实现基于角色的authentication
  • blog post关于ldapjs module

希望这会让它更容易开始。

票数 17
EN

Stack Overflow用户

发布于 2017-07-26 19:18:16

另一种选择是使用与MongoDB集成得非常好的CASL。此外,还有一篇文章介绍如何将基于CASL的授权分项到expressjs app - https://medium.com/@sergiy.stotskiy/authorization-with-casl-in-express-app-d94eb2e2b73b中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13546249

复制
相关文章

相似问题

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