Laravel 超簡潔的許可權管理擴充套件包(包含全套前後端分離搭建)

wuyan94zl發表於2020-04-16

前言

為了以後方便,自己寫了一個簡單的許可權管理系統擴充套件包,方便以後直接用。大家用得著的儘管用。
先上演示連結 rbac管理演示地址(密碼 123456)

安裝

  1. 要使用該擴充套件需要安裝Laravel,請自行安裝。保證資料庫連線正常。
  2. 依次執行如下安裝
    // 安裝eachdemo/rbac
    composer require eachdemo/rbac
    // 安裝
    composer require tymon/jwt-auth 1.*@rc
    // 釋出配置
    php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"
    // 生成secret
    php artisan jwt:secret

配置

  1. 配置認證守衛,config/auth.php如下

     'guards' => [
         ...
         // 新增項
         'admin' => [
             'driver' => 'jwt',
             'provider' => 'rbac_admins',
             'hash' => false,
         ],
     ],
    
     'providers' => [
         ...
         // 新增項
         'rbac_admins' => [
             'driver' => 'eloquent',
             'model' => Eachdemo\Rbac\Models\RbacAdmin::class,
         ],
     ],
  2. 新增路由鑑權中介軟體,app/Http/Kernel.php

     protected $routeMiddleware = [
         ...
         // 新增項
         'eachdemo.rbac.permission' => \Eachdemo\Rbac\Middleware\CheckPermission::class,
     ];
  3. 路由

    // auth:admin 登入鑑權
    // eachdemo.rbac.permission 執行鑑權
    Route::group([
     'middleware' => ['auth:admin','eachdemo.rbac.permission']
    ],function(){
     // 這裡寫路由 需要登入且有設定許可權
    });
  4. 執行資料庫遷移php artisan migrate

關於服務端api介面跨域解決方案可參考 跨域中介軟體
至此配置算是完成了

UI模板安裝

# git拉取模板專案至本地
git clone https://github.com/eachdemo/rbacui
cd rbacui
npm install
npm run dev

使用前請先至檔案src/main.js 修改

# 原始api域名
let baseURL = 'http://rbac6.me/'

# 修改成你的api域名
let baseURL = '你的api域名'

訪問模板登入頁面,已經設定好登入資訊直接登入即可。

注:該模板來自於 lin-xin/vue-manage-system 的修改,感謝前端大佬的開源

說明

基礎說明參考簡單說明

本作品採用《CC 協議》,轉載必須註明作者和本文連結
沒有造飛機的格局,怎麼能擰得好螺絲。

相關文章