首页 > express 权限管理

express 权限管理

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


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

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


我的做法是这样的:

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

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

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

【热门文章】
【热门文章】