アクセス管理に Access Control Filter を使用していますが、1 つのことを行うことができません。matchCallback 経由で試してみたのですが、この場合は TRUE が返されるため、すべてのプロジェクト マネージャーが任意のプロジェクトを更新できます。
同様のより頻繁に必要なルール - ユーザーが ACF を使用して作成した投稿を更新/削除できるようにする方法は?
'access' => [
'class' => AccessControl::className(),
'only' => ['index', 'view', 'create', 'update', 'delete'],
'rules' => [
[
'actions' => ['update'],
'allow' => true,
'roles' => ['@'],
'matchCallback' => function ($rule, $action) {
return Yii::$app->user->identity->getProjectParticipants()
->one()->isManager(Yii::$app->user->identity->id);
}
],
],
],