hchs / judge
此软件包最新版本(0.2.3)没有可用的许可证信息。
Laravel中处理角色和权限
0.2.3
2017-01-17 06:03 UTC
README
用于在Laravel中管理角色和权限的Composer软件包。
简介
- 80% 完成
- 版本 0.21
功能
- 在多种用户模型(Authcatible Model)中管理角色和权限。
- 创建、赋予、删除、删除和检查权限。
- 创建、赋予、删除、删除和检查角色。
链接
DEMO
- 尚未
如何使用
安装
1.composer require
$ composer require hchs/judge
2.在config/app.php中添加服务提供者
Hchs\Judge\JudgeServiceProvider::class
3.运行 vendor:publish
$ php artisan vendor:publish --tag=migrations
$ php artisan vendor:publish --tag=config
// optional
$ php artisan vendor:publish --tag=tests
4.修改配置文件config/judge.php
'models' => [ 'users' => 'App\User', // set relation and namespace 'fakeusers' => 'Hchs\Judge\Permission\FakeUser', // only for testing ]
5.认证模型继承Judge抽象类
<?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