Есть Yii2 Advanced Template. Для удобства работы с RBAC взят модуль
yii2-admin. authManager задан как:
'authManager' => [
'class' => 'yii\rbac\DbManager',
]
Для простоты задано в common\config\params.php:
'defaultRole' => 'User'
.
Собственно по оф. доке при регистрации показан код, который нужно разместить в методе signup модули SignupForm. С моим небольшим изменением получается так:
...
if ($user->save()) {
$auth = Yii::$app->authManager;
$defaultRole = $auth->getRole(Yii::$app->params['defaultRole']);
$auth->assign($defaultRole, $user->getId());
return $user;
}
Собственно вопросы.
1) Правильно ли так задавать роль по умолчанию? Может есть "right way"?
2) Я правильно понимаю, что добавлять роль пользователю лучше через afterSave в модели пользователя?
3) Можно ли вызывать afterSave только для метода signup в SignupForm?
P.S. Yii вижу в глаза 4 день. Просьба сильно не пинать, если что-то не так.