Схема работы RBAC
Добавлено: 2016.06.15, 09:45
Правильно ли я понимаю, что для того, чтобы задействовать RBAC, надо накатить миграции, там 4 таблицы (с назначением ролей)
Получаем, а затем назначаем пользователю роль:
В базу я добавляю некие "действия", у которых есть роль, кто это действие может делать
А по ходу работы приложения, мы постоянно проверяем, может ли этот пользователь делать действие
Тогда зачем нужен:
Получаем, а затем назначаем пользователю роль:
Код: Выделить всё
$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' => ['@'],
],
]
],
];
}