Laravel - Entrust 权限管理包安装与配置

Entrust权限管理包安装与配置-start

  • 前言:

  • 安装:

    • composer加载包: composer require zizaco/entrust:5.2.x-dev
    • 或者 在 composer.json 中加入"zizaco/entrust": "5.2.x-dev",然后执行composer install 命令。
  • 配置:

    • 进入 config/app.php 配置文件,在 provider 数组中追加如下代码:
      Zizaco\Entrust\EntrustServiceProvider::class,
      在aliases 数组中追加如下代码:
      'Entrust' => Zizaco\Entrust\EntrustFacade::class,
    • app/Http/Kernel.php 文件的 $routeMiddleware 数组中追加如下代码:
      /*
      * Entrust 权限包
      */
      'role' => \Zizaco\Entrust\Middleware\EntrustRole::class,
      'permission' => \Zizaco\Entrust\Middleware\EntrustPermission::class,
      'ability' => \Zizaco\Entrust\Middleware\EntrustAbility::class,
  • 生成迁移文件: php artisan entrust:migration

  • 生成表结构: php artisan migrate

  • 创建Model并继承相应的Model,执行下面两条命令来创建Model:

    php artisan make:model Models/Role
    php artisan make:model Models/Permission
    • 打开 app/Models/Role.php 修改本model中的继承关系:

      <?php
      namespace App\Models;
      use Zizaco\Entrust\EntrustRole;
      class Role extends EntrustRole
      {
      }
    • 打开 app/Models/Permission.php 修改本model中的继承关系:

      <?php
      namespace App\Models;
      use Zizaco\Entrust\EntrustPermission;
      class Permission extends EntrustPermission
      {
      }
    • 打开 app/User.php 文件,来use 一下 EntrustUserTrait

      <?php
      namespace App;
      use Illuminate\Foundation\Auth\User as Authenticatable;
      use Zizaco\Entrust\Traits\EntrustUserTrait;
      class User extends Authenticatable
      {
          use EntrustUserTrait;
          protected $fillable = [
                  'name', 'email', 'password',
          ];
          protected $hidden = [
                  'password', 'remember_token',
          ];
      }
  • 文件加载:composer dump-autoload

在这里之讲述了Entrust权限包的安装与配置,下一篇文章则要讲述Entrust权限包的使用。 :sunglasses: :sunglasses: :sunglasses:

  • 注:Entrust权限包需要缓存的支持,所以在这里本人安装了Redis缓存。
  • 安装:
  • 上一步安装完成后,只是安装完成了服务端,如果想在laravel中使用,需要在项目中加载下面这个包。这个包就相当于PHP的扩展包。 执行下面这一行命令开创建 redis包安装。
  • redis包安装
    composer require predis/predis 1.0.*
  • redis安装-配置查看如下网址:http://laravelacademy.org/post/1839.html
  • redis配置文件:如果redis有密码的话,需要在config/database.php 文件中关于redis的数组中做相应的配置即可。
  • 注意:如果php环境既安装了redis扩展,又操作了上面的步骤,拉取了redis扩展包,则需要在 config/app.php 文件下的aliases 数组中 将键名 redis改名即可。

Entrust权限管理包安装与配置-end

本作品采用《CC 协议》,转载必须注明作者和本文链接
老郭博客:laughing: 个人博客地址:www.phpsix.com
PHPSIX
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。
讨论数量: 0
(= ̄ω ̄=)··· 暂无内容!

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