CSU-Booking-Platform / application

MIT License
0 stars 9 forks source link

Research Laravel ACL Strategies #28

Closed a-drew closed 3 years ago

a-drew commented 3 years ago

Challenge

TLDR: Leverage open-source laravel packages to solve our user management stories.

We should take advantage of the strong open-source community around the laravel framework and look at how other developers typically solve user management requirements. There are a few popular packages but whatever we choose would need to match the following criterias:

Time box

This experiment is limited to 1 day

Findings

Recommendations

Either laravel-permission or laratrust will do. Currently leaning towards laratrust based on the slightly better caching but if we want to have nicer support for laravel's built-in authorization tools (blade / policies / gates / etc.) then laravel-permission is better. Laratrust's team feature could play nicely with AD Groups but we can probably map it to role instead without too much of a hassle.

a-drew commented 3 years ago

@alexstojda @EvanDime any thoughts?

a-drew commented 3 years ago

Setting this spike to done. Given the requirements either of the two recommended packages will work well for us. Once we start coding we can decide which one to go with but if no one has any objections I'd like to go with laravel-permissions based on the better support of laravel authorization features like directives, middleware, gates and policies.