После некоторых поисков я успешно установил пакет Authority-l4 для использования в моем проекте Laravel. Документы ясны, но малы (мало информации/примеров). Вот как выглядит мой конфигурационный файл atm:
return array[
'initialize' => function($authority) {
$user = $authority->getCurrentUser();
$authority->addAlias('manage', ['create', 'read', 'update', 'delete']);
if($user->hasRole('admin')) {
//Admin can manage all resources
$authority->allow('manage', 'all');
}
// User can manage his own post
Authority::allow('manage', 'User', function($self, $user){
return $self->getCurrentUser()->id === $user->id;
});
// User can manage his own post
Authority::allow('manage', 'Post', function($self, $post){
return $self->getCurrentUser()->id === $post->id;
});
}
];
У меня есть несколько вопросов по этому поводу:
- Как добавить роль пользователю?
hasRole()существует, почему бы и нетsetRole()? - Я заметил, что в базу данных ничего не сохраняется, разве так не лучше?
- Как мне использовать мою базу данных с авторитетом? Может ли кто-нибудь дать мне фору, я уже четыре часа бьюсь.
- В некоторых статьях говорится, что класс
Roleдолжен быть изменен, чтобы иметь много разрешений вместо пользователя, имеющего много разрешений, не лучше ли это?
Наверное, я слишком много думаю об этом пакете, поиск в Интернете тоже не помогает. Любая помощь приветствуется!