Ограничение доступа к данным на основе роли пользователя в laravel - PullRequest
0 голосов
/ 25 июня 2018

У меня следующий сценарий: у меня есть роль сотрудника, которая может добавлять и редактировать только свои собственные данные.Также есть роль менеджера, которая может просматривать данные всех сотрудников.Данные хранятся в базе данных.Куда мне положить валидацию в этом случае.

1 Ответ

0 голосов
/ 25 июня 2018

Вы можете использовать gates , чтобы проверить, есть ли у пользователя права на выполнение определенных действий. На основании этого вы можете получить данные, разрешенные для этого пользователя.

Вы можете создать ворота так:

Gate::define('access-all-records', function ($user) {
    return $user->isManager; // Or any other way to find this out
});

И получить данные следующим образом:

if (Gate::allows('access-all-records')) 
{
    // Fetch all records
}
else
{
    // Fetch data for this user
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...