所以我有一个动作,我需要多个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
规则,我该如何确保.next
它现在触发)
答案 0 :(得分:0)
制定几个规则,将不同的参数和角色应用于每个:
[ //rule1
'allow' => true,
'actions' => ['index'],
'roles' => [
'manageUsers',
],
'roleParams' => ['company' => 'some id']
],
[ //rule2
'allow' => true,
'actions' => ['index'],
'roles' => [
'manageCompanyUsers',
],
'roleParams' => ['some' => 'other id']
],