Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 29.06.2018 13:29:22

Практика применения ролей

Для нового проекта понадобилось управление правами на основе ролей. Поиск выдал основных претендентов:

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.

Не в сети

Подвал раздела