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
《L03 构架 API 服务器》
你将学到如 RESTFul 设计风格、PostMan 的使用、OAuth 流程,JWT 概念及使用 和 API 开发相关的进阶知识。
《L02 从零构建论坛系统》
以构建论坛项目 LaraBBS 为线索,展开对 Laravel 框架的全面学习。应用程序架构思路贴近 Laravel 框架的设计哲学。