Получаем, а затем назначаем пользователю роль:
Код: Выделить всё
$auth = Yii::$app->authManager;
$authorRole = $auth->getRole('author');
$auth->assign($authorRole, $user->getId());
А по ходу работы приложения, мы постоянно проверяем, может ли этот пользователь делать действие
Код: Выделить всё
if (\Yii::$app->user->can('createPost')) {
// create post
}
Код: Выделить всё
public function behaviors()
{
return [
'access' => [
'class' => AccessControl::className(),
'rules' => [
[
'allow' => true,
'roles' => ['@'],
],
]
],
];
}