CNode

nodejs有比较完善的权限框架吗

问答
Iitbasketplayer发布于11 年前最后回复8 年前7 回复12669 浏览0 收藏

使用passport的时候,发现它顶多算一套认证框架,无法做到比较方便的权限管理,像java的shiro那样,只能自己去维护权限。这一块nodejs有比较好的modelus推荐呢?接触Nodejs才一周,急需各位经验升级。

查看回复

回复 (7)

Y
yakczh#1·11 年前

sails有个policy目录 policies.js

{
  ProfileController: {
      // Apply the 'isLoggedIn' policy to the 'edit' action of 'ProfileController'
      edit: 'isLoggedIn'
      // Apply the 'isAdmin' AND 'isLoggedIn' policies, in that order, to the 'create' action
      create: ['isAdmin', 'isLoggedIn']
  }
}

里面可以写各种限制设置

Y
yakczh#2·11 年前

关于权限设置,有的框架是集中到一到配置文件,有的框架是分散在在action/controller里面, 哪种方式更合理一些?

Z
zlbbq#3·11 年前

集中设置,通过AOP统一拦截实现。

Y
yakczh#4·11 年前
引用 zlbbq集中设置,通过AOP统一拦截实现。

@zlbbq 这种有效率问题,实际上一个网站中开放的功能相对后台限权的操作要多, 比如接受100个请求,可能80个是象列表页,请求页,搜索页这种请求,只有20个是注册,登录,审核这种请求, 如果用统一拦截的方式,这样大量的拦截操作是在做无用功, 网站在开发期间可能这种方式看不出有什么问题,但是当网站访问量一旦上了一定量级以后,对服务器的压力就会上来了,这时候如果再改权限处理可能就来不及了

Z
zlbbq#5·11 年前

@yakczh 看拦截点,可以做到不需要权限控制的地方无额外逻辑执行。

L
luckydrq#6·11 年前

集中设置和维护是没问题的。可以看一下koa-roles这个中间件 自豪地采用 CNodeJS ionic

H
hsluoyz#7·8 年前

可以看下Node-Casbin:https://github.com/casbin/node-casbin

参与回复
登录后即可参与回复。登录