Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Для нового проекта понадобилось управление правами на основе ролей. Поиск выдал основных претендентов:
Spatie (https://github.com/spatie/laravel-permission)
Bouncer (https://github.com/JosephSilber/bouncer)
Entrust (https://github.com/Zizaco/entrust)
Все "звёздные", имеют примеры применения и кучу форков. Специфика нашего случая - надо работать с партнерскими организациями. Партнера можно считать подразделением или командой пользователей.
Встроенную поддержку команд я нашел только тут: форк от Entrust, Laratrust (https://github.com/santigarcor/laratrust)
У него есть опциональная поддержка "Команд", т.е. дополнительного атрибута при назначении роли.
Насколько я понимаю, команда это субъект прав, ну или атрибут субъекта а не объект.
Типа, можно так: $user->attachRole($admin);
А можно и так: $user->attachRole($admin, $team);
И потом проверить: $user->hasRole('admin', 'my-awesome-team');
Вроде бы всё годно, но хотелось бы услышать про личный опыт применение Laratrust или, возможно, про альтернативные решения с подразделениями/командами.
Спасибо!
There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.
Не в сети
Страницы 1