如何在装饰器路由权限控制里加参数?

来源:4-13 在 Vue SSR 中实现微信网页授权机制与用户资料读取

慕用9964470

2017-10-25


现在有个需求要区分管理员,假设admin默认可以访问全部路由,manager 可以访问部分路由,

我想法是,在装饰器路由上传参数进去,假如允许manager ,那就传递manager,如下面代码,但是这样写报错,请问老师应该怎么写这种带参数的装饰器路由,之前的这种只能不带参数,


  @post('save_config')

  @adminRole('manager')

  async save_config (ctx, next) {}


之前的写法

http://coding.imooc.com/learn/questiondetail/27470.html

写回答

1回答

Scott

2017-10-26

可以在 decorator 的路由装饰文件中,加一个 adminRole 的中间件就好了,比如


export const adminRole = role => convert(async (ctx, next) => {
  const { userId } = ctx.session.user
  if (role === 'xxx') {
    // 处理
  }
  await next()
})


0
0

开发微信全家桶项目Vue/Node/MongoDB高级技术栈全覆盖

Nuxt/Vue SSR + Koa2 跨栈开发微信公众号+小程序

989 学习 · 401 问题

查看课程