PHPackages                             laraditz/permission-plus - 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. laraditz/permission-plus

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

laraditz/permission-plus
========================

Laravel permission management for the lazy.

0.0.1(3y ago)031MITBladePHP ^8.0

Since Feb 24Pushed 2y ago1 watchersCompare

[ Source](https://github.com/laraditz/permission-plus)[ Packagist](https://packagist.org/packages/laraditz/permission-plus)[ Docs](https://github.com/laraditz/permission-plus)[ RSS](/packages/laraditz-permission-plus/feed)WikiDiscussions master Synced 1mo ago

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

Laravel Permission Plus
=======================

[](#laravel-permission-plus)

[![Latest Version on Packagist](https://camo.githubusercontent.com/1e8340deb1e605c309a5643bee6e94d8cd2e50f0398b3a2c10be6b7d57ef2c0a/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f6c6172616469747a2f7065726d697373696f6e2d706c75732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/laraditz/permission-plus)[![Total Downloads](https://camo.githubusercontent.com/54b0ba60c4941961a962489b880ecbe85251c78253cfd4c8e794a965c9840fa5/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6c6172616469747a2f7065726d697373696f6e2d706c75732e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/laraditz/permission-plus)[![GitHub Actions](https://github.com/laraditz/permission-plus/actions/workflows/main.yml/badge.svg)](https://github.com/laraditz/permission-plus/actions/workflows/main.yml/badge.svg)

Laravel permission management for the lazy. The permission plus is a RRBAC (Role/Route Based Access Control) which is a method to restrict access control based on the application routes and roles. (Warning: This package is still in an early stage of development and may contain bugs).

[![screenshot](screenshot/main.png "Permission Plus")](screenshot/main.png)

Prerequisites
-------------

[](#prerequisites)

- PHP 8.0+
- Laravel v8.0+
- Spatie Laravel Permission V5

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

[](#installation)

You can install the package via composer:

```
composer require laraditz/permission-plus
```

If you don't have one, you may create a new user account to be able to access the permission plus page. Use Laravel [starter kits](https://laravel.com/docs/master/starter-kits) to get ur application up and running in no time.

Setup
-----

[](#setup)

Run the migration command to create the necessary database table.

```
php artisan migrate
```

Add `HasPermissionPlus` trait to your `User` model.

```
use Laraditz\PermissionPlus\Traits\HasPermissionPlus;

class User extends Authenticatable
{
    use HasPermissionPlus;
}
```

(Optional) You can publish the config file via this command:

```
php artisan vendor:publish --provider="Laraditz\PermissionPlus\PermissionPlusServiceProvider" --tag="config"
```

Usage
-----

[](#usage)

After login, go to `/permission-plus/permissions` to manage your permission and you will see below page. You may click `Generate` button to generate all routes in your applications to start adding permissions.

[![screenshot 1](screenshot/1.png "Permission Plus List Page")](screenshot/1.png)

Repeat the step if you add more routes.

Deploy to production
--------------------

[](#deploy-to-production)

By default, all `App\Models\Users` can access Permission Page locally. To allow them to access Permission Page in production, you must take a few extra steps to ensure that only the correct users have access to the page.

To set up your `App\Models\User` to access Permission Page in non-local environments, you must overwrite the `canAccessPermissionPlus` method.

```
public function canAccessPermissionPlus(): bool
{
    // example
    return str_ends_with($this->email, '@yourdomain.com') && $this->hasVerifiedEmail();
}
```

### To Do

[](#to-do)

- Add search
- Add documentation
- Add test
- Permission for resource owner
- Auto-detect available routes
- Make a more user-friendly UI
- Optimize layout for mobile view
- Add permission for individual user
- Refactor code

### Testing

[](#testing)

```
composer test
```

### Changelog

[](#changelog)

Please see [CHANGELOG](CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) for details.

### Security

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [Raditz Farhan](https://github.com/laraditz)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

21

—

LowBetter than 19% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity42

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

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

1170d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/11529f40a0254d8083a2e724249a71dbf860a461fb1ae96fc2799029a4849eb9?d=identicon)[raditzfarhan](/maintainers/raditzfarhan)

---

Top Contributors

[![raditzfarhan](https://avatars.githubusercontent.com/u/1203676?v=4)](https://github.com/raditzfarhan "raditzfarhan (10 commits)")

---

Tags

laraditzpermission-plus

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/laraditz-permission-plus/health.svg)

```
[![Health](https://phpackages.com/badges/laraditz-permission-plus/health.svg)](https://phpackages.com/packages/laraditz-permission-plus)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[socialiteproviders/manager

Easily add new or override built-in providers in Laravel Socialite.

42442.0M542](/packages/socialiteproviders-manager)[illuminate/auth

The Illuminate Auth package.

9327.3M1.0k](/packages/illuminate-auth)[olssonm/l5-very-basic-auth

Laravel stateless HTTP basic auth without the need for a database

1662.5M1](/packages/olssonm-l5-very-basic-auth)[stechstudio/laravel-jwt

Helper package that makes it easy to generate, consume, and protect routes with JWT tokens in Laravel

126117.6k](/packages/stechstudio-laravel-jwt)[scaler-tech/laravel-saml2

SAML2 Service Provider integration for Laravel applications, based on OneLogin toolkit

2737.5k](/packages/scaler-tech-laravel-saml2)

PHPackages © 2026

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