我需要允许某种类型的用户访问控制器的操作,同时拒绝具有相同角色和其他角色的其他用户。例如,用户x的角色为“building”,用户y的角色为“building”和“admin”。我希望允许“建设”角色,除了那些也具有“经理”角色的人。还应该允许访问“超级用户”角色。
以下代码块与我现在的代码块相同:
array('allow',
'actions' => array('frontdesk', 'cabinet', 'replace', 'discard'),
'expression' => array('User', 'isSuperStatic')
),
array('allow',
'actions' => array('frontdesk', 'cabinet', 'replace', 'discard'),
'roles' => array('building')
),
array('deny',
'users' => array('*')
)
答案 0 :(得分:0)
我想出的解决方案是使用另一个角色,这个角色对于我将在“建筑物”中考虑的人来说是独一无二的。部门。因此,我会使用' building_front_desk'而不是使用' building'。经理没有这个角色,但是所需的用户会这样做。