Package Data | |
---|---|
Maintainer Username: | g9308370 |
Maintainer Contact: | g9308370@hotmail.com (Hchs) |
Package Create Date: | 2016-09-27 |
Package Last Update: | 2017-01-18 |
Home Page: | |
Language: | PHP |
License: | Unknown |
Last Refreshed: | 2025-02-05 15:04:24 |
Package Statistics | |
---|---|
Total Downloads: | 130 |
Monthly Downloads: | 2 |
Daily Downloads: | 0 |
Total Stars: | 1 |
Total Watchers: | 1 |
Total Forks: | 0 |
Total Open Issues: | 0 |
Composer Package for Manage Roles and Permissions in Laravel.
1.composer require
$ composer require hchs/judge
2.add Service Provider in config/app.php
Hchs\Judge\JudgeServiceProvider::class
3.run vendor:publish
$ php artisan vendor:publish --tag=migrations
$ php artisan vendor:publish --tag=config
// optional
$ php artisan vendor:publish --tag=tests
4.modify config file config/judge.php
'models' => [
'users' => 'App\User', // set relation and namespace
'fakeusers' => 'Hchs\Judge\Permission\FakeUser', // only for testing
]
5.Auth Model extends Judge Abstract Class
<?php
namespace App;
use Illuminate\Notifications\Notifiable;
use Hchs\Judge\Permission\AuthEloquent as Authenticatable;
class User extends Authenticatable
{
use Notifiable;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
// use Role && Permission
use Hchs\Judge\Permission\Role;
use Hchs\Judge\Permission\Permission;
// create Role & Permission
$role = Role::create([
'name' => 'admin',
'display_name' => 'Admin',
'description' => 'You are Admin'
]);
$permission = Permission::create([
'name' => 'create',
'display_name' => 'Create Something',
'description' => 'You can create something',
]);
// Role attachPermission
$role->attachPermission($permission);
$user = User::find(1);
// attachRole
$user->attachRole($role);
$user->hasRole('admin'); //true
$user->hasRole('basic'); //false
$user->hasPermission('create'); //true
$user->hasPermission('delete'); //false
// detachRole
$user->detachRole($role);
$user->hasRole('admin'); //false
$user->hasRole('basic'); //false
$user->hasPermission('create'); //false
$user->hasPermission('delete'); //false