我只想知道是否可以这样做,所以我不必一遍又一遍地重复相同的代码
[
'allow' => true,
'actions' => ['index', 'update', 'view', 'logout'],
'roles' => ['@'],
'matchCallback' => function(){
return (Yii::$app->user->identity->team_id == '47' && Yii::$app->user->identity->team_id == '62'
&& Yii::$app->user->identity->team_id == '63' && Yii::$app->user->identity->team_id == '64'
&& Yii::$app->user->identity->team_id == '65' && Yii::$app->user->identity->team_id == '66' && Yii::$app->user->identity->role_id == '1');
}
],
或类似的东西。
谢谢
答案 0 :(得分:1)
首先,我不明白您为什么使用&&而不是||。是错字吗? 现在,为了回答这个问题,我认为最好在模型中为此目的创建一个函数,以表示您的身份,如下所示:(我确信您稍后会在其他地方使用它)
Shiny
然后在授权控件中调用您的函数:
public function belongsToGroup()
{
if( $this->team_id == '47'
|| $this->team_id == '62'
...
&& $this->role_id == '1' ){
return true;
} else {
return false;
}
}