与 Laravel Doctrine ACL 相关的中间件。此中间件将根据路由名称和请求类型检查对路由的访问权限。

2.0.1 2019-07-26 02:56 UTC

README

此包允许您轻松地放置模板,该模板基于存储在 laravel 中关于用户请求的信息,以检查当前用户是否有权访问资源。

该包使用 laravel-doctrine/acl 作为核心,但由于基本包的性能问题和与 phpunit 的问题,已经替换了存储在 laravel-doctrine/acl 中的功能。

基本包会在每次请求中检索和迭代用户可用的所有权限,如果在具有大量权限的应用程序中使用,可能会对资源造成很大消耗。我已将其替换为简单的查询。

代码中给出的示例基于使用 Tempest Tools 框架,因此路由示例可能不会与您习惯的完全一致。

请参阅 wiki 以获取更多文档信息。

Tempest Tools Moat 可以在 Tempest Tools 框架中看到效果:https://github.com/tempestwf/tempest-tools-skeleton

要求

  • PHP >= 7.1.0

  • laravel/framework = 5.3.*,

  • Composer.

##安装

使用 composer 安装后,请确保将中间件添加到您的 Kernel.php 文件中:\app\Http\Kernel.php

  protected $routeMiddleware = [
    'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class,
    'can'        => \Illuminate\Foundation\Http\Middleware\Authorize::class,
    'throttle'   => \Illuminate\Routing\Middleware\ThrottleRequests::class,
    'acl' => \TempestTools\Moat\Http\Middleware\Acl::class
  ];