PHPackages                             anwar/dynamic-roles - 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. anwar/dynamic-roles

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

anwar/dynamic-roles
===================

Complete dynamic role and permission management package with caching and API support

0.041(9mo ago)270MITPHPPHP ^8.0CI passing

Since Sep 9Pushed 9mo ago1 watchersCompare

[ Source](https://github.com/ringkubd/dynamic_roles)[ Packagist](https://packagist.org/packages/anwar/dynamic-roles)[ RSS](/packages/anwar-dynamic-roles/feed)WikiDiscussions main Synced today

READMEChangelog (5)Dependencies (7)Versions (7)Used By (0)

Dynamic Roles Package
=====================

[](#dynamic-roles-package)

A comprehensive Laravel package for dynamic role and permission management with caching, API support, and complete database-driven URL management. Perfect for applications with complex permission requirements that need to be managed without touching code.

Features
--------

[](#features)

- 🚀 **Dynamic Permission Management**: Create and manage permissions without touching code
- 🎯 **URL-Based Access Control**: Control access to specific URLs and HTTP methods
- ⚡ **High Performance Caching**: Configurable caching with Redis, Memcached, or other drivers
- 🔧 **Auto-Discovery**: Automatically discover and register routes from your application
- 🌐 **Complete API**: Full REST API for frontend integration (perfect for Next.js)
- 🛡️ **Middleware Protection**: Ready-to-use middleware for route protection
- 📊 **Analytics &amp; Logging**: Track permission checks and access patterns
- 🎨 **Flexible Configuration**: Highly configurable to fit any application structure
- 💾 **Import/Export**: Backup and restore permission configurations
- 🔄 **Bulk Operations**: Efficiently manage permissions for multiple entities
- 🍔 **Menu Management**: Create hierarchical menu systems with role/permission-based access
- 🧭 **Breadcrumb Support**: Automatic breadcrumb generation for nested menus
- 🏗️ **Tree Structure**: Build complex nested menu structures with unlimited depth

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

[](#installation)

### 1. Install the Package

[](#1-install-the-package)

Run on terminal:

```
composer require anwar/dynamic-roles
```

Or add it on your main `composer.json`

Then run:

```
composer install
```

### 2. Install Spatie Laravel Permission (Required Dependency)

[](#2-install-spatie-laravel-permission-required-dependency)

```
composer require spatie/laravel-permission
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate
```

### 3. Publish and Run Migrations

[](#3-publish-and-run-migrations)

```
# Publish configuration
php artisan vendor:publish --tag=dynamic-roles-config

# Publish migrations
php artisan vendor:publish --tag=dynamic-roles-migrations

# Run migrations
php artisan migrate
```

### 4. Add Service Provider (If not auto-discovered)

[](#4-add-service-provider-if-not-auto-discovered)

Add to `config/app.php`:

```
'providers' => [
    // ...
    Anwar\DynamicRoles\DynamicRolesServiceProvider::class,
],
```

### 5. Add Traits to User Model

[](#5-add-traits-to-user-model)

```
