role based permission control

v0.1 2018-04-18 15:28 UTC

This package is not auto-updated.

Last update: 2024-04-28 02:53:04 UTC


README

基于角色管理权限扩展

require laravel:~5.6

安装

composer require oldfurybird/rabc

git clone git@github.com:oldFuryBird/rabc.git vendor/oldfurybird/rabc/

使用

  1. 注册服务,在 config\app 中
      'providers'=>[
          ...
        /*
         * Package Service Providers...
         */
         Rabc\RabcServiceProvider::class,
        ...
      ],
  1. 默认使用 App\User 模型作为用户模型 可以在config/rabc.php 中修改
  2. 当用户表migrate成功之后

php artisan rabc:install

允许mirgrate

User 需要implements UserInterface接口

  • hasRole()
  • roles($role_name)
  • can($permission[s]) 能否通过权限测试
  • attachRole[s]/detachRole[s] 添加删除角色 通过 use Rabc\RabcUserTrait trait 具体实现

middleware

在Kernel.php 添加中间件  Rabc\Middleware\TrustRole,Rabc\Middleware\TrustPermission
控制路由访问权限等功能
$this->middleware('role:test|test_2'); // test或test_2角色可以访问
$this->middleware('perm:test1');// test1 权限通过的用户可以访问

实例

 $role = Role::create(['name'=>'test','display_name'=>'测试','description'=>'能否通过?']);
 $user->attachRole($role);
 $user->hasRole('test');//true;
 $user->can('test_perm');//false;

 $permission = Permission::create(['name'=>'test_perm','display_name'=>'测试权限','description'=>'能否通过?']);
 $role->attachPermission($permission);
 $user->can('test_perm');//true;

反馈

如果您有任何建议和意见可以给我issue或者反馈ccwc3@163.com