Вложенные роли в BjyAuthorize\Provider\Role\Config
Я пытаюсь создать вложенные роли, где разработчик - это роль, которая может иметь доступ ко всему контроллеру / действию, вот мой генеалогический макет:
'role_providers' => array(
'BjyAuthorize\Provider\Role\Config' => array(
'guest' => array('children' => array(
'programador' => array(
'children'=>array(
'administration'=>array('children'=>array('developer'=>array())),
)
),
'conclidiador' => array(
'children'=>array(
'administration'=>array('children'=>array('developer'=>array())),
)
),
'tesorero' => array(
'children'=>array(
'administration'=>array('children'=>array('developer'=>array())),
)
),
)),
),
),
Это не работает.
Это работает нормально, если я просто оставлю один.
'role_providers' => array(
'BjyAuthorize\Provider\Role\Config' => array(
'guest' => array('children' => array(
'programador' => array(
'children'=>array(
'administration'=>array('children'=>array('developer'=>array())),
)
),
)),
),
),
Я хотел бы, чтобы разработчик имел доступ ко всему, затем к администрации, а затем ко всем остальным programador, conclidiador, tesorero на том же уровне и к конечному гостю.
1 ответ
Я пытаюсь подобную вещь, но у меня другой стиль в файле конфигурации:
'BjyAuthorize\Provider\Role\Config' => [
'guest' => [],
'user' => ['children' => [
'admin' => [],
'member' => ['children' => [
'membervip' => []
]],
'merchant' => ['children' => [
'merchantvip' => []
]],
'player' => ['children' => [
'playerplus' => []
]]
]],
],
Мне также пришлось настроить таблицу 'user_role' так, чтобы она соответствовала приведенному выше макету / config, чтобы иметь правильные значения 'user_role'. 'Parent_id', как указано выше.
Поэтому я бы предположил, что вам нужно что-то вроде этого:
'BjyAuthorize\Provider\Role\Config' => [
'guest' => [],
'user' => ['children' => [
'programador' => [],
'conclidiador' => [],
'tesorero' => [],
'administrator' => ['children' => [
'developer' => []
]]
]],
],
То есть родительский "пользователь" имеет тот же уровень, что и все. Затем определите права доступа к этому уровню в ваших маршрутах / контроллерах. "пользователь" - это базовый доступ ко всем под ролям, тогда разделение находится в "администраторе".