У меня есть роль, называемая «новая». Хотя я не устанавливаю его явно, я хочу, чтобы это была роль по умолчанию, как только пользователь регистрируется. Я использую расширение yii2-пользователя и yii2-rbac через dektrium.Yii2 RBAC не учитывает установку по умолчанию, заданную по умолчанию
У меня есть следующий в моих компонентах ...
'authManager' => [
'class' => 'yii\rbac\DbManager',
'defaultRoles' => ['new'],
],
Однако следующий возвращает ложь ...
if (Yii::$app->user->can('new'))
И следующие возвращает пустой массив тоже ...
print_r(Yii::$app->authManager->getRolesByUser(Yii::$app->user->identity->id));
Я не уверен, где искать. Я дважды проверил и посмотрел «новую» роль, правильно настроенную в представлениях конфигурации RBAC.
По какой-то причине либо Yii2 не соблюдает мою конфигурацию defaultRole, либо мое ожидание не соответствует этой настройке. Цените любую помощь.
Привет Я сделал print_r (Yii :: $ app-> authManager-> defaultRoles) и заметил, что массив пуст. По какой-то причине он не устанавливается. Я тестировал на странице Default/Index. Есть идеи. –
@ShahidThaika Проверьте, отменено ли оно с помощью расширений, которые вы используете. Проверьте их документы, возможно, есть другой способ его настройки. То, что я написал, отлично работает без расширений. – arogachev
Да, я не думаю, что расширение уважает это поле, потому что я просто сделал новую установку и тест без каких-либо успехов. –