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.2k↓50%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 1mo 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 49% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity24

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

3174d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/18d14d64b6e8e25cc473c10fbb699946e427b993cd78e7fae2c5a373f2ae5a54?d=identicon)[joshbrw](/maintainers/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

[lab404/laravel-impersonate

Laravel Impersonate is a plugin that allows to you to authenticate as your users.

2.3k16.4M48](/packages/lab404-laravel-impersonate)[santigarcor/laratrust

This package provides a flexible way to add Role-based Permissions to Laravel

2.3k5.4M43](/packages/santigarcor-laratrust)[overtrue/laravel-follow

User follow unfollow system for Laravel.

1.2k404.7k5](/packages/overtrue-laravel-follow)[codegreencreative/laravel-samlidp

Make your PHP Laravel application an Identification Provider using SAML 2.0. This package allows you to implement your own Identification Provider (idP) using the SAML 2.0 standard to be used with supporting SAML 2.0 Service Providers (SP).

263763.5k1](/packages/codegreencreative-laravel-samlidp)

PHPackages © 2026

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