https://github.com/bedoke/laravel-role-perms
A Laravel plugin, which gives the possibility to introduce role based permissions. You can assign roles globally or on a row level.
https://github.com/bedoke/laravel-role-perms
laravel laravel-package permissions roles
Last synced: 3 months ago
JSON representation
A Laravel plugin, which gives the possibility to introduce role based permissions. You can assign roles globally or on a row level.
- Host: GitHub
- URL: https://github.com/bedoke/laravel-role-perms
- Owner: bedoke
- Created: 2019-06-25T09:21:05.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2019-07-29T08:34:55.000Z (almost 7 years ago)
- Last Synced: 2025-04-05T08:19:23.055Z (about 1 year ago)
- Topics: laravel, laravel-package, permissions, roles
- Language: PHP
- Homepage:
- Size: 99.6 KB
- Stars: 0
- Watchers: 0
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Install
## Get the package
composer require bedoke/laravel-role-perms
## Extend the user class
Import the Roles trait in the User.php file:
use bedoke\LaravelRolePerms\Traits\Roles;
Inside the user class use the trait:
use Roles;
## Migration
php artisan migrate
## Seeds
php artisan db:seed --class=bedoke\LaravelRolePerms\Database\Seeds
By default the following seeder creates the admin role and some permission. If there is a user with the name admin, then by default he gets the role admin.
# Usage
## Functions
### User Model
To check if a user model has a permission or a role you can use this:
$user->hasPermission('permissionName', [Object $entity]); // true || false
$user->hasRole('roleName', [Object $entity]); // true || false
The user function results will be cached!
Use `RolePerms::clearPermissionCache([User $user]);` or `RolePerms::clearRoleCache([User $user]);` to clean up if needed.
### Facade
Include the Facade to use the following functions.
use bedoke\LaravelRolePerms\Facades\RolePerms;
Now you can use the following functions:
RolePerms::userHasRole(User $user, String $roleName, [Object $entity]); // true || false
RolePerms::userHasPermission(User $user, String $permissionName, [Object $entity]); // true || false
RolePerms::roleHasPermission(String $roleName, String $permissionName); // true || false
RolePerms::grantRole(User $user, String $roleName, [Object $entity]); // true || false
RolePerms::grantPermission(String $roleName, String $permissionName); // true || false
RolePerms::revokeRole(User $user, String $roleName, [Object $entity]); // true || false
RolePerms::revokePermission(String $roleName, String $permissionName); // true || false
RolePerms::clearRoleCache([User $user]); // true || false
RolePerms::clearPermissionCache([User $user]); // true || false
RolePerms::createRole(String $roleName); // Role || false
RolePerms::createPermission(String $permissionName); // Permission || false
RolePerms::deleteRole(String $roleName); // true || false
RolePerms::deletePermission(String $permissionName); // true || false