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

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

bfe/laravel-permission
======================

Permission handling for Laravel 6.0 and up

0.0.1(3y ago)08MITPHPPHP ^7.3|^8.0|^8.1

Since Nov 22Pushed 3y agoCompare

[ Source](https://github.com/bigfive-edition/bfe-laravel-permission)[ Packagist](https://packagist.org/packages/bfe/laravel-permission)[ Docs](https://github.com/spatie/laravel-permission)[ GitHub Sponsors](https://github.com/spatie)[ RSS](/packages/bfe-laravel-permission/feed)WikiDiscussions main Synced 1mo ago

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

Associate users with permissions and roles
==========================================

[](#associate-users-with-permissions-and-roles)

Documentation, Installation, and Usage Instructions
---------------------------------------------------

[](#documentation-installation-and-usage-instructions)

To get started with using the package, we'll install it using the following command:

```
composer require bfe/laravel-permission
```

Now that we've installed the package, we'll need to publish the database migration and config file:

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

We can now run the migrations to create the new tables in our database:

```
php artisan migrate
```

Assuming that we are using the default config values and haven't changed anything in the package's config/permission.php, we should now have five new tables in our database:

What It Does
------------

[](#what-it-does)

This package allows you to manage user permissions and roles in a database.

Once installed you can do stuff like this:

```
// Adding permissions to a user
$user->givePermissionTo('edit articles');

// Adding permissions via a role
$user->assignRole('writer');

$role->givePermissionTo('edit articles');
```

Because all permissions will be registered on [Laravel's gate](https://laravel.com/docs/authorization), you can check if a user has a permission with Laravel's default `can` function:

```
$user->can('edit articles');
```

### Testing

[](#testing)

```
composer test
```

###  Health Score

22

—

LowBetter than 22% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community19

Small or concentrated contributor base

Maturity44

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 55.3% 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

Unknown

Total

1

Last Release

1267d ago

### Community

Maintainers

![](https://www.gravatar.com/avatar/1316422c644fee6c252a193c59e93b6f177d118b4c4705bebf3a6f355b9c96b0?d=identicon)[henri-bfe](/maintainers/henri-bfe)

---

Top Contributors

[![drbyte](https://avatars.githubusercontent.com/u/404472?v=4)](https://github.com/drbyte "drbyte (611 commits)")[![freekmurze](https://avatars.githubusercontent.com/u/483853?v=4)](https://github.com/freekmurze "freekmurze (288 commits)")[![AlexVanderbist](https://avatars.githubusercontent.com/u/6287961?v=4)](https://github.com/AlexVanderbist "AlexVanderbist (40 commits)")[![erikn69](https://avatars.githubusercontent.com/u/4933954?v=4)](https://github.com/erikn69 "erikn69 (35 commits)")[![sebastiandedeyne](https://avatars.githubusercontent.com/u/1561079?v=4)](https://github.com/sebastiandedeyne "sebastiandedeyne (14 commits)")[![musapinar](https://avatars.githubusercontent.com/u/7329873?v=4)](https://github.com/musapinar "musapinar (12 commits)")[![tomlankhorst](https://avatars.githubusercontent.com/u/675432?v=4)](https://github.com/tomlankhorst "tomlankhorst (11 commits)")[![AdrianMrn](https://avatars.githubusercontent.com/u/12762044?v=4)](https://github.com/AdrianMrn "AdrianMrn (9 commits)")[![henri-bfe](https://avatars.githubusercontent.com/u/116744525?v=4)](https://github.com/henri-bfe "henri-bfe (9 commits)")[![sergejostir](https://avatars.githubusercontent.com/u/21297285?v=4)](https://github.com/sergejostir "sergejostir (7 commits)")[![angeljqv](https://avatars.githubusercontent.com/u/79208641?v=4)](https://github.com/angeljqv "angeljqv (7 commits)")[![springleng](https://avatars.githubusercontent.com/u/1900972?v=4)](https://github.com/springleng "springleng (6 commits)")[![juvpengele](https://avatars.githubusercontent.com/u/30692796?v=4)](https://github.com/juvpengele "juvpengele (5 commits)")[![artissant](https://avatars.githubusercontent.com/u/2280426?v=4)](https://github.com/artissant "artissant (5 commits)")[![lloricode](https://avatars.githubusercontent.com/u/8251344?v=4)](https://github.com/lloricode "lloricode (4 commits)")[![Nielsvanpach](https://avatars.githubusercontent.com/u/10651054?v=4)](https://github.com/Nielsvanpach "Nielsvanpach (4 commits)")[![barryatswisnl](https://avatars.githubusercontent.com/u/18284224?v=4)](https://github.com/barryatswisnl "barryatswisnl (4 commits)")[![lowerends](https://avatars.githubusercontent.com/u/6588791?v=4)](https://github.com/lowerends "lowerends (4 commits)")[![ctf0](https://avatars.githubusercontent.com/u/7388088?v=4)](https://github.com/ctf0 "ctf0 (3 commits)")[![fullstackfool](https://avatars.githubusercontent.com/u/14146557?v=4)](https://github.com/fullstackfool "fullstackfool (3 commits)")

---

Tags

spatielaravelsecurityaclpermissionrolespermissionsrbac

###  Code Quality

TestsPHPUnit

### Embed Badge

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

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

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k89.8M1.0k](/packages/spatie-laravel-permission)[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[wnikk/laravel-access-rules

Simple system of ACR (access control rules) for Laravel, with roles, groups, unlimited inheritance and possibility of multiplayer use.

103.6k1](/packages/wnikk-laravel-access-rules)[erag/laravel-role-permission

A simple and easy-to-install role and permission management package for Laravel, supporting versions 10.x and 11.x

404.2k](/packages/erag-laravel-role-permission)

PHPackages © 2026

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