delboy1978uk / bone-firewall

Bone Framework 的防火墙包

v1.3.0 2024-03-21 17:11 UTC

This package is auto-updated.

Last update: 2024-09-21 18:17:05 UTC


README

Latest Stable Version Total Downloads Latest Unstable Version License
build status Code Coverage Scrutinizer Code Quality

Bone Framework 控制供应商包路由的防火墙包。

安装

使用 Composer

composer require delboy1978uk/bone-firewall

使用方法

简单地将以下代码添加到 config/packages.php

<?php

// use statements here
use Bone\Firewall\Firewall\FirewallPackage;

return [
    'packages' => [
        // packages here...,
        FirewallPackage::class,
    ],
    // ...
];

阻止路由

并将一个 blockedRoutes 列表添加到你的配置中。例如,包 delboy1978uk/bone-user 为访客注册用户账户提供了端点。如果你不想暴露此类端点,你可以添加在包的 addRoutes(Container $c, Router $router) 方法中配置的路径,也可以使用通配符字符串,如下所示。

<?php

return [
    'blockedRoutes' => [
        '/user/register',
        '/user/lost-password/{email}',
    ],
];

添加中间件

有时你可能想要向来自供应商包的路由添加中间件,你也可以通过添加以下配置键来完成此操作。每个键可以持有中间件的实际实例、表示中间件的字符串(该字符串在容器中可以找到),或者如果你想添加多个中间件,可以是一个数组。

return [
    'blockedRoutes' => [
        // etc
    ],
    'routeMiddleware' => [
        '/api/some/endpoint' => SomeMiddleware::class,
        '/api/another/endpoint' => new AwesomeMiddleware(),
        '/api/yet/another/endpoint' => [
            new AwesomeMiddleware(),
            SomeMidlleware::class,
        ],
    ],
];