A package to add roles and permissions to Laravel
With the release of Laravel 5.1.1 last week the framework gained some nice Authorization features. It provides an easy way to define abilities (aka permissions). Checking if a user has certain abilities is very simple as well. The code powering authorization is a thing of beauty. If you're a Laracasts subscriber let Jeffrey Way guide you through the code. In a later lesson he demonstrates how to add role based authentication.
I've used Jeffrey's code as a base to create a new package called laravel-permission. The package provides an easy way to associate users with roles and permissions.
//adding permissions to a user
$user->givePermissionTo('edit articles');
//adding permissions via a role
$user->assignRole('writer');
$user2->assignRole('writer');
$role->givePermissionTo('edit articles');
Saved permissions and roles are also registered with the Illuminate\Auth\Access\Gate
-class. So permissions can be checked with Laravel's native can
-function.
$user->can('edit articles');
Take a look at the readme on GitHub to see some more examples on how the package can be used.
What are your thoughts on "A package to add roles and permissions to Laravel"?