针对以往的权限控制职能到达页面及按钮级别,结合nodeJS中间件(路由代理),做出了延伸到接口的权限控制,概要图如下所示:
1 | { |
接口白名单配置:
1 | module.exports = { |
JWT我放在了Nodejs中间件层,JWT的实现原理如下图所示;
在这里我做一下简单的描述:
前端代码请求接口->中间件路由代理层接到请求(GraphQL)->控制器层(controller)做逻辑判断等->从mongoDB数据中抓取数据
这一流水线的好处是可多处拆解,可抛弃最后两层,直接与后台接口对接;如果有可通过nodejs服务来存储一些简单的数据的话,可使用整个流程。
后台的服务通常都有日志输出和存储,为了查找项目开发过程中的问题,或者是上线后存在的性能瓶颈;nodejs服务我同样加入了日志打印功能。
未完待续…