Rbac видит права в контроллере но не видеть их в views?

Проблема, которую вы описываете, связана с авторизацией и управлением доступом (RBAC) в фреймворке Yii.

RBAC (Role-Based Access Control) в Yii позволяет определить роли пользователей и назначать им различные права доступа к различным частям приложения. Когда роль пользователя меняется, его права доступа также могут изменяться. Однако возможна ситуация, когда RBAC успешно определяет права доступа в контроллерах, но не видит их в представлениях (views).

Первым делом, убедитесь, что вы правильно настроили RBAC в вашем приложении Yii. Для этого вам необходимо создать необходимые роли (Roles) и разрешения (Permissions) в соответствующих таблицах базы данных и связать их между собой.

Затем у вас должда быть создан компонент приложения для авторизации, который будет работать с RBAC. Этот компонент должен быть настроен правильно и подключен к вашему приложению.

Когда все настройки RBAC выполнены правильно, вы должны использовать проверки прав доступа в ваших контроллерах и представлениях. Ваши представления могут представлять собой просто файлы шаблонов, где вы отображаете информацию, или они могут являться частью своего контроллера и выполнять некоторые действия.

Если ваши права доступа определены правильно, но не отображаются в представлениях, то возможны следующие причины:

1. Неправильное использование проверки доступа в представлении. Убедитесь, что вы верно указали разрешение (Permission) в вызове метода Yii::$app->user->can('permissionName') в вашем представлении. Проверьте, есть ли соответствующее разрешение в базе данных, и оно присоединено к роли текущего пользователя.

2. Настройки кэширования. Если вы используете кэширование в своем приложении, проверьте, не кэшируются ли ваши представления с правами доступа. Убедитесь, что вы правильно настроили кэширование для вашего приложения и выключили его для представлений, чтобы они каждый раз были правильно отображены в соответствии с текущими правами доступа пользователя.

3. Переопределение проверки доступа в вашем контроллере. Если вы переопределили метод checkAccess($action, $model = null, $params = []) в вашем контроллере, убедитесь, что он правильно проверяет доступ к представлениям и возвращаеает true или false в зависимости от результатов проверки.

Если вы проверили все вышеуказанные причины и все настроено правильно, но проблема остается, возможно, есть какая-то другая причина, специфичная для вашего приложения. В этом случае рекомендуется обратиться к документации Yii или на форумы Yii, чтобы получить более подробную помощь по вашей конкретной ситуации.