1

所以我有一个需要多个permissions才能访问的操作。

(例如manageUsers(管理员)和manageCompanyUsers(公司经理))

access行为in controllerrule

'allow' => true,
'actions' => ['index'],
'roles' => [
   'manageUsers',
   'manageCompanyUsers'
],
'roleParams' => ['company' => 'some id']

1)如何为其中的不同角色传递不同的参数?(无论如何它都会company传递这个代码)manageCompanyUsers

2)我如何确保 ifmanageUsers是一个孩子manageCompanyUsers并且user直接manageUsers分配给不触发manageCompanyUsers规则(它现在触发)

4

1 回答 1

0

制定几个规则,每个规则应用不同的参数和角色:

[ //rule1
  'allow' => true,
  'actions' => ['index'],
  'roles' => [
     'manageUsers',
  ],
  'roleParams' => ['company' => 'some id']
],
[ //rule2
  'allow' => true,
  'actions' => ['index'],
  'roles' => [
     'manageCompanyUsers',
  ],
  'roleParams' => ['some' => 'other id']
],
于 2017-12-28T06:33:25.300 回答