PHPackages                             joshbrw/laravel-permission-manager - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. joshbrw/laravel-permission-manager

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

joshbrw/laravel-permission-manager
==================================

Laravel Permission Manager

v0.1.1(8y ago)25.3k↓78.6%MITPHPPHP &gt;=7.0

Since Sep 8Pushed 8y agoCompare

[ Source](https://github.com/joshbrw/laravel-permission-manager)[ Packagist](https://packagist.org/packages/joshbrw/laravel-permission-manager)[ RSS](/packages/joshbrw-laravel-permission-manager/feed)WikiDiscussions master Synced 3d ago

READMEChangelogDependencies (2)Versions (3)Used By (0)

Laravel Permission Manager
==========================

[](#laravel-permission-manager)

This package provides a simple way of registering permissions, organising them by group and then retrieving all permissions. These permissions can then be assigned to User/Role entities and used for Access Control logic.

Installation
------------

[](#installation)

1. Install the package using `composer require joshbrw/laravel-permission-manager`
2. **If you're using Laravel 5.5** this is all that is required, the package will automatically load its' own Providers and Facades. If you're using Laravel 5.4, read on.
3. Then register the Service Provider in `config/app.php` to ensure that the container bindings etc are loaded: ```
    'providers' => [
        ...
        Joshbrw\LaravelPermissions\LaravelPermissionManagerServiceProvider::class,
    ]

    ```
4. You can then optionally register the `Permissions` facade if you'd rather use `Permission::registerPermissions()` rather than using the `PermissionManager` directly: ```
    'aliases' => [
        ...
        'Permissions' => Joshbrw\LaravelPermissions\Facades\Permissions::class,
    ]

    ```
5. You are now installed!

Registering Permissions
-----------------------

[](#registering-permissions)

Permissions should usually be registered in the `boot()` method ophpuf a Service Provider - this ensures that this package has been able to register itself using it's own `register()` method first.

### Using the Facade

[](#using-the-facade)

The simplest way of registering permissions is using the `Permissions` facade. The following example registers the `user.list` and `user.create` permissions within the `User` group:

```
use Permissions;
use Joshbrw\LaravelPermissions\Permission;

class MyProvider extends ServiceProvider {
    public function boot()
    {
        Permissions::register('User', [
            new Permission('user.list', 'List Users', 'This allows a User to list other Users.'),
            new Permission('user.create', 'Create Users', 'This allows a User to create another User.'),
        ]);
    }
}
```

### Using the Trait

[](#using-the-trait)

You can also use the `RegistersPermissions` trait if you're not a fan of Facades, for example:

```
use Joshbrw\LaravelPermissions\Traits\RegistersPermissions;
use Joshbrw\LaravelPermissions\Permission;

class MyProvider extends ServiceProvider {
    use RegistersPermissions;

    public function boot()
    {
        $this->registerPermissions('User', [
            new Permission('user.list', 'List Users', 'This allows a User to list other Users.'),
            new Permission('user.create', 'Create Users', 'This allows a User to create another User.'),
        ]);
    }
}
```

###  Health Score

27

—

LowBetter than 47% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity23

Limited adoption so far

Community2

Small or concentrated contributor base

Maturity49

Maturing project, gaining track record

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~0 days

Total

2

Last Release

3222d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/779766?v=4)[Josh Brown](/maintainers/joshbrw)[@joshbrw](https://github.com/joshbrw)

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/joshbrw-laravel-permission-manager/health.svg)

```
[![Health](https://phpackages.com/badges/joshbrw-laravel-permission-manager/health.svg)](https://phpackages.com/packages/joshbrw-laravel-permission-manager)
```

###  Alternatives

[statamic-rad-pack/runway

Eloquently manage your database models in Statamic.

135224.7k7](/packages/statamic-rad-pack-runway)[jeremy379/laravel-openid-connect

OpenID Connect support to the PHP League's OAuth2 Server. Compatible with Laravel Passport.

59437.0k9](/packages/jeremy379-laravel-openid-connect)[duncanmcclean/statamic-cargo

Comprehensive e-commerce addon for Statamic. Build bespoke e-commerce sites without the complexity.

3417.0k](/packages/duncanmcclean-statamic-cargo)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
