- Laravel Package Docs - Full guide how create a Laravel Package
- spatie/laravel-permission is the best choise. It allows multi guards, user direct permission and role permission.
- caffeinated/shinobi is a role based permission and direct permission. It doesnt support multi guard
- Povilas Korop did an excellent job listing the alternatives in an article on Laravel News. In that same article, he compares laravel-permission to Joseph Silber's Bouncer, which in our book is also an excellent package.
- ultraware/roles takes a slightly different approach to its features.
- santigarcor/laratrust implements team support
- zizaco/entrust offers some wildcard pattern matching