搜索

首页  >  问答  >  正文

node.js - express 权限管理

没发现好用的权限管理的包,如何该自己写使用token做验证的权限管理?怎么写比较好?

天蓬老师天蓬老师2784 天前624

全部回复(2)我来回复

  • 伊谢尔伦

    伊谢尔伦2017-04-17 13:57:03

    我的做法是这样的:

    在所有路由规则前加一个通用规则,对进入的请求进行过滤,假设是一个 authenticate() 函数。

    authenticate() 函数中,提取 url query 中的 timestamptoken 字段。先判断一下 timestamp 的合法性,比如与现在时间相比不能超过5分钟。然后根据你的 token 规则生成用于验证的 token,再和 url 中的 token 做对比,如果一致则验证通过。

    遇到任何不合法的情况,立即 return res.status(400).send({ok: -1, errMsg: "<ERROR MESSAGE>"}),最后是 next() 对合法的请求放行。

    回复
    0
  • PHPz

    PHPz2017-04-17 13:57:03

    权限管理这里是指?如果是登录校验的话,可以试试passport,这就是一个token-based插件,而且还有个不错的生态系统,基本常见的校验策略都有现成的实现。

    如果指的是各种角色、用户之类的,可以试试rbac。

    回复
    0
  • 取消回复