2015-02-04 3 views
1

Я смотрю на meanjs, и я не могу установить меню, доступное для определенной роли пользователя. Согласно документации http://meanjs.org/docs.html#menusmean.js AngularJS Menus Service назначает роли на странице

роли (необязательно; по умолчанию: [ «пользователь»]) - массив с указанием ролей, которые разрешены для просмотра этого пункта меню.

У меня есть функция под названием 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, тогда пользователь tempstaff может видеть все страницы, но он не почитайте переопределение в Menus.addMenuItem.

Как это можно достичь, чтобы я мог установить определенные страницы для доступа к некоторым ролям, а другие - к другим ролям?

+0

@MarcHarry Этот вопрос похож на тот, который вы ответили о меню meanjs, вы тоже столкнулись с этой проблемой? – ak85

ответ

1

Из документации,

роли (по умолчанию: [ 'пользователь']) - массив с указанием ролей, которые разрешены для просмотра меню

Таким образом, вы должны включать «пользователь 'и' tempstaff 'как возможные роли, которые могут получить доступ к меню. Изменение вашего кода на следующее должно работать.

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