【问题标题】:Clarity on the use of pragmarx/firewall package for Laravel 5.2明确在 Laravel 5.2 中使用 pragmarx/firewall 包
【发布时间】:2016-08-26 08:01:18
【问题描述】:

所以我刚刚完成了 laravel 的 antonioribeiro/firewall 软件包的安装,它基本上允许将 IP 地址和国家/地区列入黑名单和白名单。

我正在处理Artisan Commands 上的部分,但是当我尝试运行 'php artisan firewall:whitelist country:za' 时,我收到以下错误:

  [Symfony\Component\Console\Exception\CommandNotFoundException]  
  Command "firewall:whitelist" is not defined.                    
  Did you mean one of these?                                      
      firewall:list                                               
      firewall:tables    

我已完成文档中列出的所有必要安装步骤。

我做错了什么?我应该在其他地方使用这个命令吗? 我知道这些可以手动输入到数据库中,但是拥有这个功能会很棒。

【问题讨论】:

  • 您是否将PragmaRX\Firewall\Vendor\Laravel\ServiceProvider::class, 添加到config/app.php 的提供商列表中?
  • 是的,我已经将 PragmaRX\Firewall\Vendor\Laravel\ServiceProvider::class, 添加到提供程序和 'Firewall' => PragmaRX\Firewall\Vendor\Laravel\Facade::class,给别名。我能够成功运行“php artisan firewall:list”,但没有其他命令。但是它确实说其他“防火墙:”命令是“专用于数据库使用”。这是否意味着它们必须以不同的方式执行?
  • 也许这是个愚蠢的问题,但您是否也运行了php artisan firewall:tablesphp artisan migrate
  • 是的,我运行了这些命令。我添加了中间件组条目,最后在完成配置设置后运行 php artisan vendor:publish。
  • 哇。我修好了它。因此,当您运行“php artisan vendor:publish”时,它会在配置文件夹中创建一个名为 firewall.php 的文件。 'use_database' 的值默认设置为 false。我只需要将其更改为 true。所有 Artisan 命令现在都可以正常工作了

标签: php laravel-5 laravel-artisan


【解决方案1】:

我设法解决了这个问题:

解决方案:当您运行“php artisan vendor:publish”时,它会在配置目录中创建一个名为“firewall.php”的新文件。这是您设置默认选项的地方。只需将 'use_database' 更改为 true,数据库特定的命令就会起作用。

firewall:blacklist
firewall:clear
firewall:remove
firewall:whitelist  

【讨论】:

    猜你喜欢
    • 2019-06-29
    • 2016-12-27
    • 2016-12-18
    • 1970-01-01
    • 1970-01-01
    • 2016-10-21
    • 2016-07-19
    • 2023-04-01
    • 2017-05-05
    相关资源
    最近更新 更多