Посмотрите здесь: http://www.yiiframework.com/doc-2.0/guide-security-authorization.html#access-control-filter Единственное, что вам нужно сделать, это ограничить доступ к функции удаления для людей с ролью Creator. Все остальные не смогут ничего удалить.
ваша функция должна выглядеть
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
........
[
'actions' => ['save', 'update', 'status', 'activate-all', 'deactivate-all'], // Define specific actions
'allow' => true, // Has access
'roles' => ['Admin', 'Creator'],
],
[
'actions' => ['delete', 'delete-all'], // Define specific actions
'allow' => true, // Has access
'roles' => ['Creator'],
],
[
'allow' => false, // Do not have access
'roles' => ['?'], // Guests '?'
],
],
],
];
}
Это всего лишь пример, измените его под свои нужды. Вероятно, вы не должны позволять администратору также редактировать создателя, так как изменение пароля будет почти таким же, как удаление.
person
Mihai P.
schedule
22.01.2015