Так что у меня есть действие, которое мне нужно несколько permissions
иметь доступ к.
(например manageUsers
(админ) и manageCompanyUsers
(менеджер компании))
access
поведение in controller
имеет rule
лайк:
'allow' => true,
'actions' => ['index'],
'roles' => [
'manageUsers',
'manageCompanyUsers'
],
'roleParams' => ['company' => 'some id']
1) как мне передать разные параметры для разных ролей в нем? (с этим кодом он проходит company
в manageCompanyUsers
тем не мение)
2) как я могу убедиться, что если manageUsers
это ребенок manageCompanyUsers
а также user
имеет manageUsers
назначается напрямую, чтобы не запускать manageCompanyUsers
правила (это срабатывает сейчас)
Создайте несколько правил с различными параметрами и ролями, примененными к каждому:
[ //rule1
'allow' => true,
'actions' => ['index'],
'roles' => [
'manageUsers',
],
'roleParams' => ['company' => 'some id']
],
[ //rule2
'allow' => true,
'actions' => ['index'],
'roles' => [
'manageCompanyUsers',
],
'roleParams' => ['some' => 'other id']
],
Других решений пока нет …