Вот код, который я использую для того, чтобы авторизованные пользователи могли выполнять некоторые действия
'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['create', 'edit'],
'allow' => true,
'roles' => ['@'],
],
],
],
Но эти правила позволяют гостям вступать в создание действий. Afaik, по умолчанию в гостевых пользователях должно быть отказано. Что я делаю неправильно?
Измените свой код на:
'access' => [
'class' => AccessControl::className(),
'only' => ['logout', 'signup', 'create', 'edit'],
'rules' => [
[
'actions' => ['show'],
'allow' => true,
'roles' => ['?'],
],
[
'actions' => ['create', 'edit'],
'allow' => true,
'roles' => ['@'],
],
],
],
Только массив должен содержать список идентификаторов действий, к которым должен применяться этот фильтр.
Других решений пока нет …