Laravel Auth Bundle
Latest commit e595cdf Apr 1, 2013 Todd Francis Update the changelog and DocBlock for 3.0.1.
Failed to load latest commit information.
libraries Update the changelog and DocBlock for 3.0.1. Apr 1, 2013
migrations Changed is method to reflect new relationship Feb 24, 2013
models Adding Super Admin check in `is` method Mar 24, 2013 Added license Jan 26, 2013 Updated changelog and readme for v3 Feb 24, 2013 Update the changelog and DocBlock for 3.0.1. Apr 1, 2013
start.php Initial commit Jun 17, 2012

Laravel Verify Bundle

A simple role/permission authentication bundle for Laravel

  • Secure password storage with salt
  • Role/permission based authentication
  • Exceptions for intelligent handling of errors
  • Configurable/extendable


Run this command on the CLI:

php artisan bundle:install verify

Registering the Bundle

Place the following code in application/bundles.php:

'verify'    => array(
    auto        => true

Then change your Auth driver to 'verify' in application/config/auth.php:

'driver' => 'verify',

Now migrate the resources for Verify:

php artisan migrate verify

You should now have all the tables imported, complete with a sample user, called admin, with a password of password.


The bundle is intentionally lightweight. You add Users, Roles and Permissions like any other Model.

$user = new Verify\Models\User;
$role = new Verify\Models\Role;
$permission = new Verify\Models\Permission;


All models are in the namespace 'Verify\Models\'.

The relationships are as follows:

  • Roles have many and belong to Users
  • Users have many and belgon to Roles
  • Roles have many and belong to Permissions
  • Permissions have many and belong to Roles

Relationships are handled via the ORM, too:


More information on relationships can be found in the Laravel Eloquent docs.

Basic Examples

// Create a new Permission
$permission = new \Verify\Models\Permission;
$permission->name = 'delete_user';

// Create a new Role
$role = new Verify\Models\Role;
$role->name = 'Moderator';
$role->level = 7;

// Assign the Permission to the Role

// Create a new User
$user = new \Verify\Models\User;
$user->username = 'Todd';
$user->email = '';
$user->password = 'password'; // This is automatically salted and encrypted

// Assign the Role to the User

// Using the public methods available on the User object
var_dump($user->is('Moderator')); // true
var_dump($user->is('Admin')); // false

var_dump($user->can('delete_user')); // true
var_dump($user->can('add_user')); // false

var_dump($user->level(7)); // true
var_dump($user->level(5, '<=')); // false


For full documentation, have a look at