Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Laravel Auth Bundle
Failed to load latest commit information.
config Updated for new features
libraries Update the changelog and DocBlock for 3.0.1.
migrations Changed is method to reflect new relationship
models Adding Super Admin check in `is` method Updated changelog and readme for v3 Update the changelog and DocBlock for 3.0.1.
start.php Initial commit

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

Something went wrong with that request. Please try again.