Можно ли в Bolt CMS проверить принадлежность роли к контроллеру?

Я пытаюсь добавить некоторые функции в серверную часть установки Bolt CMS, которая делает следующее:

  1. Проверьте, является ли пользователь членом группы «ограниченный редактор».
  2. Если да, перечисляйте только тот контент, которым они лично владеют.

Это должно быть внутри контроллера, а не с использованием Twig.

У меня есть пользовательский объект, использующий

$user = $app['users']->getCurrentUser();

Я думаю, я мог бы использовать

in_array('limitededitor', $user["роли"]);

Но мне было интересно, есть ли в Bolt какая-либо функция, которая упростила бы это, например «isAllowed», но для проверки принадлежности к роли?


person Ambulare    schedule 15.02.2016    source источник


Ответы (1)


Это то, что я использовал в прошлом, чтобы определить, монтирую ли я контроллер (и, таким образом, предоставляю доступ к новым URL-адресам), ключевой частью является то, что служба пользователей имеет метод hasRole, но вам нужно проверить идентификатор пользователя.

public function checkAuth() { $currentUser = $this->app['users']->getCurrentUser(); $currentUserId = $currentUser['id']; foreach (['admin', 'root', 'developer', 'editor'] as $role) { if ($this->app['users']->hasRole($currentUserId, $role)) { return true; } } return false; }

person Ross Riley    schedule 16.02.2016