PHPackages                             sajidjalal/laravel-permission-kit - 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. sajidjalal/laravel-permission-kit

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

sajidjalal/laravel-permission-kit
=================================

A lightweight and flexible permission management kit for Laravel applications.

v1.0.1(4mo ago)091MITPHPPHP ^8.0

Since Mar 6Pushed 4mo agoCompare

[ Source](https://github.com/sajidjalal/laravel-permission-kit)[ Packagist](https://packagist.org/packages/sajidjalal/laravel-permission-kit)[ RSS](/packages/sajidjalal-laravel-permission-kit/feed)WikiDiscussions main Synced today

READMEChangelog (2)Dependencies (2)Versions (3)Used By (0)

🛡️ Laravel Permission Kit — RBAC for Laravel

A lightweight, configurable, and database-driven Role-Based Access Control (RBAC) package for Laravel.

This package helps manage roles, permissions, and menu-based access control in Laravel applications.

---

✨ Features

- Role Based Access Control (RBAC)
- Menu &amp; Sub Menu permission structure
- Super Admin bypass support
- Custom table names support
- Cache optimized permission checks
- Simple Facade based API
- Lightweight and easy to integrate
- Works with existing Laravel projects

---

🚀 Installation

Install the package using composer.

```
composer require sajidjalal/laravel-permission-kit

```

---

⚙️ Publish Configuration

Publish the configuration file.

```
php artisan vendor:publish --provider="SajidJalal\PermissionKit\PermissionKitServiceProvider"

```

This will create the config file:

config/permission-kit.php

---

🗄️ Run Migration

Run the migration command to create required tables.

```
php artisan migrate

```

---

⚙️ Configuration

You can customize the package configuration from:

config/permission-kit.php

Example configuration:

```
return [

    'tables' => [
        'master_menu'      => 'rbac_master_menu',
        'roles'            => 'rbac_roles',
        'role_permissions' => 'rbac_role_permissions',
    ],

    'roles' => [
        'super_admin_id' => env('SUPER_ADMIN_ROLE_ID', 1),
    ],

    'cache' => [
        'ttl' => env('PERMISSION_CACHE_TTL', 1440),
    ],

];

```

---

📚 Usage

Import the Permission facade.

```
use SajidJalal\PermissionKit\Facades\Permission;

```

---

📌 Get All Menus

Fetch complete menu structure with permission hierarchy.

```
$menus = Permission::getAllMenus();

```

---

🔐 Check Role Permission

Check if a role has permission for specific actions.

Check Read Permission

```
Permission::checkRoleHasPermission(1, 'role_management', ['read']);

```

Check Multiple Permissions

```
Permission::checkRoleHasPermission(1, 'role_management', ['read','create']);

```

Check Any Permission

```
Permission::checkRoleHasPermission(1, 'role_management', []);

```

If the role has any permission, the method will return true.

---

📋 Available Permission Actions

```
$actions = ['read', 'create', 'update', 'delete'];

```

These correspond to the columns inside the role\_permissions table.

---

👑 Super Admin Support

Super Admin bypasses all permission checks.

Set the Super Admin role in .env.

```
SUPER_ADMIN_ROLE_ID=1

```

---

⚡ Permission Cache

Permission checks are cached to improve performance.

```
PERMISSION_CACHE_TTL=1440

```

(Default: 1440 minutes / 24 hours)

---

🧩 Database Tables

This package creates the following tables.

Table Description

---

rbac\_master\_menu Stores menus and permission keys rbac\_roles Stores application roles rbac\_role\_permissions Stores role wise permissions

---

⚠️ Note

This package is currently under development. Some features and APIs may change in upcoming versions.

---

📄 License

This package is open-sourced software licensed under the MIT license.

###  Health Score

34

—

LowBetter than 75% of packages

Maintenance78

Regular maintenance activity

Popularity5

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity40

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

121d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/5f6370815e2db5f4c00aecb1db094c9a4c5f60c35eb80a99b991cbb112ee7673?d=identicon)[sajidjalal](/maintainers/sajidjalal)

---

Top Contributors

[![sajidjalal](https://avatars.githubusercontent.com/u/43800532?v=4)](https://github.com/sajidjalal "sajidjalal (14 commits)")

---

Tags

laravelaclrolespermissionsaccess-control

### Embed Badge

![Health badge](/badges/sajidjalal-laravel-permission-kit/health.svg)

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

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k3.9M130](/packages/bezhansalleh-filament-shield)[hasinhayder/tyro

Tyro - The ultimate Authentication, Authorization, and Role &amp; Privilege Management solution for Laravel 12 &amp; 13

6804.7k6](/packages/hasinhayder-tyro)[pktharindu/nova-permissions

Laravel Nova Grouped Permissions (ACL)

136421.9k](/packages/pktharindu-nova-permissions)[silvanite/novatoolpermissions

Laravel Nova Permissions (Roles and Permission based Access Control (ACL))

100266.5k2](/packages/silvanite-novatoolpermissions)[shanmuga/laravel-entrust

This package provides a flexible solution to add ACL to Laravel

69337.5k2](/packages/shanmuga-laravel-entrust)[beatswitch/lock-laravel

A Laravel Driver for Lock.

15629.8k1](/packages/beatswitch-lock-laravel)

PHPackages © 2026

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