| Package Data | |
|---|---|
| Maintainer Username: | OndrejBakan |
| Maintainer Contact: | ondrej@bakan.cz (Ondrej Bakan) |
| Package Create Date: | 2016-08-14 |
| Package Last Update: | 2016-08-18 |
| Language: | PHP |
| License: | Unknown |
| Last Refreshed: | 2025-10-26 03:12:54 |
| Package Statistics | |
|---|---|
| Total Downloads: | 17 |
| Monthly Downloads: | 0 |
| Daily Downloads: | 0 |
| Total Stars: | 0 |
| Total Watchers: | 1 |
| Total Forks: | 0 |
| Total Open Issues: | 0 |
Every User should have one or more Roles. Role table should include column name, which is then used as key in your permissions config.
This package is very, VERY, simple. You don't have to use the Traits included, you can copy&paste methods inside them, or even customize them to fit your own models.
Install the package with composer:
composer require ondrejbakan/permissions
Once the package is downloaded, add the service provider by opening config/app.php and making the following changes:
Add a new item to the providers array:
OndrejBakan\Permissions\PermissionsServiceProvider::class,
Add trait to your User model:
use OndrejBakan\Permissions\Traits\HasRoles;
class User extends Model
{
use HasRoles;
}
Add trait to your Role Model:
use OndrejBakan\Permissions\Traits\HasPermissions;
class Role extends Model
{
use HasPermissions;
}
Publish config with:
php artisan vendor:publish
Open and edit ondrejbakan/permissions/config.php in Laravel's config folder, for example:
<?php
return [
'permissions' => [
'admin' => [
'posts.create',
'posts.read',
'posts.update',
'posts.delete',
],
'user' => [
'posts.read',
],
]
];
All this package does is register simple permissions at Laravel's Gate, so you can check them via standard Laravel Authorization methods described in the docs, for example:
$user->can('posts.create');
And that's all. As I said, this package is very simple, no magic involved. On the other side, it does not cripple your database and it does not force you to use someone else's database structure.