PHPackages                             toporia/dominion - 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. toporia/dominion

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

toporia/dominion
================

Enterprise-grade Role-Based Access Control (RBAC) package for Toporia Framework

00PHP

Since Dec 16Pushed 5mo agoCompare

[ Source](https://github.com/Minhphung7820/toporia-dominion)[ Packagist](https://packagist.org/packages/toporia/dominion)[ RSS](/packages/toporia-dominion/feed)WikiDiscussions main Synced 1mo ago

READMEChangelogDependenciesVersions (1)Used By (0)

Toporia Dominion
================

[](#toporia-dominion)

Enterprise-grade Role-Based Access Control (RBAC) package for Toporia Framework.

Features
--------

[](#features)

- **Role Management** - Create, update, delete roles with hierarchy support
- **Permission Management** - Resource-based permissions with wildcard support
- **Role Hierarchy** - Parent-child relationships with permission inheritance
- **Direct Permissions** - Assign permissions directly to users (bypass roles)
- **High Performance** - Caching with O(1) permission checks after first load
- **Gate Integration** - Seamless integration with Toporia's authorization Gate
- **Middleware** - Ready-to-use middleware for route protection
- **Console Commands** - Artisan-like commands for RBAC management
- **Super Admin** - Configurable super admin bypass

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

[](#installation)

```
composer require toporia/dominion
```

Auto-Discovery
--------------

[](#auto-discovery)

This package uses Toporia's **Package Auto-Discovery** system. After installation:

- **Service Provider** is automatically registered - no manual registration required
- **Configuration** is automatically discovered from `extra.toporia.config` in composer.json
- **Migrations** are automatically included when running `php console migrate`

To rebuild the package manifest manually:

```
php console package:discover
```

Configuration
-------------

[](#configuration)

Publish the configuration file (optional):

```
php console vendor:publish --provider="Toporia\Dominion\DominionServiceProvider"
# Or with tag
php console vendor:publish --tag=dominion-config
```

Or manually copy `config/dominion.php` to your application's `config/` directory.

Database Setup
--------------

[](#database-setup)

Run migrations (includes package migrations automatically):

```
php console migrate
```

Package migrations are automatically discovered from `packages/dominion/database/migrations/`. To skip package migrations:

```
php console migrate --no-packages
```

To view all migration paths including packages:

```
php console migrate:status
```

Quick Start
-----------

[](#quick-start)

### 1. Add HasRoles Trait to User Model

[](#1-add-hasroles-trait-to-user-model)

```
