Правило контроля доступа Yii2 не запрещает гостям

Вот код, который я использую для того, чтобы авторизованные пользователи могли выполнять некоторые действия

        'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['create', 'edit'],
'allow' => true,
'roles' => ['@'],
],
],
],

Но эти правила позволяют гостям вступать в создание действий. Afaik, по умолчанию в гостевых пользователях должно быть отказано. Что я делаю неправильно?

1

Решение

Измените свой код на:

 'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup', 'create', 'edit'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['create', 'edit'],
'allow' => true,
'roles' => ['@'],
],
],
],

Только массив должен содержать список идентификаторов действий, к которым должен применяться этот фильтр.

1

Другие решения

Других решений пока нет …