Я начинающий разработчик Laravel и пытаюсь модернизировать систему разрешений в существующем приложении, которое использует очень грязную собственную систему. Я пытаюсь перейти на более чистое, более ремонтопригодное решение. Я пытаюсь использовать zizaco / entrust, но боюсь, что может быть какая-то нужная мне функциональность, которую она не поддерживает. В дополнение к проверке, есть ли у пользователя разрешение, мне нужно проверить, есть ли у этого пользователя разрешение на взаимодействие с определенной записью базы данных. Например, я не могу просто позвонить:
if(!$this->cruser->hasPermission('OwnResourcePermission')) return;
Мне также нужно проверить, владеет ли этот пользователь ресурсом, или кто-то из его / ее команды, или его / ее руководитель и т. Д.
Итак, есть ли способ использовать Entrust (или некоторую другую библиотеку разрешений), или я бы сделал что-то вроде проверки разрешений И запроса к БД для проверки этих других условий и возврата в случае их сбоя? Я ищу самое чистое и наиболее приемлемое решение, но для меня это довольно большое дело. Это немного ошеломляет, и я не знаю, с чего начать.
Задача ещё не решена.
Других решений пока нет …