A package to add roles and permissions to Laravel original

by Freek Van der Herten – 1 minute read

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.

Join 9,500+ smart developers

Get my monthly newsletter with what I learn from running Spatie, building Oh Dear, and maintaining 300+ open source packages. Practical takes on Laravel, PHP, and AI that you can actually use.

No spam. Unsubscribe anytime. You can also follow me on X.

Found something interesting to share? Submit a link to the community section.