PHPackages                             labsys/auth-gaia - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. labsys/auth-gaia

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

labsys/auth-gaia
================

labsys gaia RBAC management package

v1.2.2(7y ago)0115MITPHP

Since Feb 13Pushed 6y ago1 watchersCompare

[ Source](https://github.com/wordenfan/auth_gaia)[ Packagist](https://packagist.org/packages/labsys/auth-gaia)[ RSS](/packages/labsys-auth-gaia/feed)WikiDiscussions master Synced 3d ago

READMEChangelog (5)DependenciesVersions (12)Used By (0)

[![Version](https://camo.githubusercontent.com/d2422fc3095737122e2ebdaa3ef143bef1af9be41e371b1241abc7e3352b5a7d/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f776f7264656e2d617574682d2d676169612d627269676874677265656e2e737667)](https://packagist.org/packages/labsys/auth-gaia)[![License](https://camo.githubusercontent.com/7254c1d715cc83039b0c4b02b58db99a82939ffdbc87652edac27fa984ceb4fa/68747470733a2f2f706f7365722e707567782e6f72672f7a697a61636f2f656e74727573742f6c6963656e73652e737667)](https://packagist.org/packages/labsys/auth-gaia)

概述
--

[](#概述)

Labsys Gaia权限管理系统，参考了[Zizaco/entrust](https://github.com/Zizaco/entrust)，基于laravel5.5以上开发支持

安装方法
----

[](#安装方法)

```
composer require "labsys/auth-gaia:1.2.x-dev"
#包更新
composer update "labsys/auth-gaia"
```

使用说明
----

[](#使用说明)

1：生成config文件及执行文件

```
# 清空配置缓存
php artisan config:clear

php artisan vendor:publish --class=GaiaAuthServiceProvider
php artisan migrate
```

2：生成自动加载文件填充数据

```
composer dump-autoload
php artisan db:seed --class=PermissionBaseTableSeeder
```

3：在Model/Admin/Auth目录下增加ORM实例

```
AdminUser.php
AuthPermission.php
AuthRole.php

# ORM实例增加pivot过滤
protected $hidden=['pivot'];

# ORM实例分别增加traits引用
use GaiaAuthUserTrait;
use GaiaAuthRoleTrait;
use GaiaAuthPermissionTrait;
```

Blade模板的使用
----------

[](#blade模板的使用)

```
@role('chaojiguanliyuan')
This is visible to users with the 超级管理员 role
@endrole

@permission('tongyituikuan')
This is visible to users with the 同意退款 permission
@endpermission

搜索
```

Controller使用范例
--------------

[](#controller使用范例)

Facade调用

```
$res1 = GaiaAuth::user();//返回认证后的ORM对象
$res2 = GaiaAuth::hasRole([1,'kefu']，true);//参数二[选填]
$res3 = GaiaAuth::canDo([11,'search_bt']，true);//参数二[选填]
```

user的调用方法

```
$user = AdminUser::where('name','15577901841')->first();
$res1 = $user->roleList(['description','status']);//参数一[选填]，为筛选的字段
$res2 = $user->hasRole([1,2],true);//参数二[选填],true为全匹配
$res3 = $user->attachRole([4]);//支持int或数组查询
$res4 = $user->detachRole(4);//支持int或数组查询
$res5 = $user->canDo([11,'search_bt']);//id或pinyin混合查找
$res6 = $user->menuPermList(['id','type','status']);//参数一[选填]要筛选的字段,参数二[选填]是否需树形排序
```

role的调用方法

```
$role = AuthRole::where('id',2)->first();
$res2 = $role->userList(['email']);//参数一[选填]要筛选的字段
$res3 = $role->hasPermission(['shopad',14]);//支持数组批量查询,仅全匹配才返回true
$res4 = $role->attachPermission([43,45]);//支持单个或数组批量添加
$res5 = $role->detachPermission(43);//支持单个或数组批量添加
$fields = ['id','type','status'];
$condition = [
    'status'=>1,
    'type' => ['
