首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在iron-router中设置组/权限

在iron-router中设置组/权限
EN

Stack Overflow用户
提问于 2015-01-08 04:47:15
回答 1查看 143关注 0票数 0

我正在尝试使用iron:router设置组权限。我想出的方法是在用户的配置文件中设置一个组密钥,然后将该值与通过onBeforeAction挂钩访问站点的给定部分的组进行比较。请参见示例:

hooks.js:

代码语言:javascript
复制
beforehooks = {
  checkGroup: function(group) {
    if (Meteor.user().profile.group === group) {
      this.next();
    } else {
      this.render('accessDenied');
    }
  }
}

router.js

代码语言:javascript
复制
Router.map(function() {
  this.route('managers', {
    path: '/managers',
    onBeforeAction: beforehooks.checkGroup("managers")
  });
});

这一直导致一个错误,阻止流星启动,但我不确定它是什么。在通过JavaScript方法调用传递变量时,我是否做错了什么?(旁注:我刚刚发现了角色包,并计划明天研究它。然而,我仍然想知道这里的错误是什么)

附加信息/编辑:如果我从checkGroup方法中删除组变量,并将一个字符串硬编码到' If‘语句中,一切都会正常工作。今天我会试着把一些东西放到MeteorPad中。

附加编辑:这里有两个气象板,一个有工作代码,另一个有错误(通过将变量传递给钩子)

工作代码:http://meteorpad.com/pad/PdP4v7qtM79Xi6FDQ/Groups%20-%20Functioning

错误代码:http://meteorpad.com/pad/bMTqeA39GqSQee9KC/Groups%20-%20Error

EN

回答 1

Stack Overflow用户

发布于 2015-01-08 08:13:41

对于starters,您应该删除onBeforeAction,后面的逗号,在以下行添加结束括号和分号,并在最后一行添加分号:

代码语言:javascript
复制
Router.map(function() {
  this.route('managers', {
    path: '/managers',
    onBeforeAction: beforehooks.checkGroup("managers")
  });
});

如果你把你的代码发布到 .上,别人会更容易帮到你

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27828361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档