PHPackages                             philsquare/permissions - 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. philsquare/permissions

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

philsquare/permissions
======================

Laravel policy scaffolding and permission management built on Spatie Permissions

v1.0.8(5mo ago)0122↓50%MITPHPPHP &gt;=8.1

Since Sep 30Pushed 5mo agoCompare

[ Source](https://github.com/philsquare/permissions)[ Packagist](https://packagist.org/packages/philsquare/permissions)[ Docs](https://github.com/philsquare/permissions)[ RSS](/packages/philsquare-permissions/feed)WikiDiscussions production Synced 1mo ago

READMEChangelog (1)Dependencies (2)Versions (10)Used By (0)

Philsquare Permissions
======================

[](#philsquare-permissions)

A Laravel package for managing role-based permissions through policies. Define permissions declaratively in your policies and sync them to your database with a single command.

Requirements
------------

[](#requirements)

- PHP 8.1+
- Laravel 10+
- [spatie/laravel-permission](https://github.com/spatie/laravel-permission) ^6.21

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

[](#installation)

```
composer require philsquare/permissions
```

The service provider is auto-registered via Laravel's package discovery.

### Setup Spatie Permissions

[](#setup-spatie-permissions)

If you haven't already, publish and run the Spatie migrations:

```
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate
```

Add the `HasRoles` trait to your User model:

```
use Spatie\Permission\Traits\HasRoles;

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

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

[](#quick-start)

### 1. Create a Policy

[](#1-create-a-policy)

Use the artisan command with the `--withPermissions` flag:

```
php artisan make:policy PostPolicy --model=Post --withPermissions
```

Or add permissions to an existing policy by extending `BasePolicy`:

```
