Laravel 超简洁的权限管理扩展包(包含全套前后端分离搭建)

前言

为了以后方便,自己写了一个简单的权限管理系统扩展包,方便以后直接用。大家用得着的尽管用。
先上演示链接 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 协议》,转载必须注明作者和本文链接
没有造飞机的格局,怎么能拧得好螺丝。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
讨论数量: 3

这个要怎么用啊

3年前 评论

大佬 php artisan migrate 这个装完了 后台权限初始化数据是不是没有 运行起来看里面都是空的

3年前 评论
wuyan94zl (楼主) 3年前
pszhao (作者) 3年前
pszhao (作者) 3年前
wuyan94zl (楼主) 3年前
pszhao (作者) 3年前

:+1: 加油大佬 你是最棒的 :blush:

3年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!