mean.js AngularJS菜单服务为页面分配角色

时间:2015-02-04 09:21:59

标签: javascript angularjs mean-stack meanjs

我正在查看meanjs,并且无法设置可用于某个用户角色的菜单。 根据文档http://meanjs.org/docs.html#menus

roles(可选;默认:['user']) - 一个数组,指示允许查看此菜单项的角色。

我有一个名为tempstaff的角色,我想访问某个特定页面。

我试过以下

Menus.addMenuItem('topbar', 'Talks', 'talks', 'dropdown', '/talks(/create)?', true,  ['tempstaff']);

阅读此问题的已接受答案mean.js menu isPublic not working

我尝试修改我的menus.client.services.js文件以便

this.addMenu('topbar');

成了

this.addMenu('topbar',true,  ['user']);

这适用于全局级别,因此,如果我有用户设置,则允许角色为user的用户查看所有网页,或者如果我将其更改为tempstaff,则{{1}用户可以看到所有页面,但它不尊重tempstaff中的覆盖。

如何实现这一目标,以便我可以设置某些角色可以访问某些页面,而其他角色可以访问其他角色?

1 个答案:

答案 0 :(得分:1)

从文档中

  

roles(默认:[' user']) - 一个数组,指示允许查看此菜单的角色

所以,你应该包括'用户'和' tempstaff'作为可以访问菜单的可能角色。将代码更改为以下代码应该有效。

this.addMenu('topbar', true, ['user', 'tempstaff']);