by alan lam
Depends on akaunting/laravel-firewall, Manage Firewall under Filament Admin Panel.
This package provides a whitelist and blacklist feature to restrict access to your Laravel application and Filament admin panel. For additional functionality, please refer to the Laravel Firewall package.
Install the package using the composer require
command:
composer require solution-forest/filament-firewall
To publish the configuration files and migrations files for this plugin, as well as automatically run migration, enter the following command:
php artisan filament-firewall:install
This package comes with WhitelistRangeMiddleware
. You need to register it in $middleware
in the app\Http\Kernel.php
file:
protected $middleware = [ ... \SolutionForest\FilamentFirewall\Middleware\WhitelistRangeMiddleware::class,];
You can change the setting in the config/filament-firewall.php
file to skip the middleware WhitelistRangeMiddleware
check.
WhitelistRangeMiddleware
middleware will automatically handle whitelist IP access. If you need to block a range of IPs while allowing a specific IP, such as blocking 172.19.0.0/24 except for 172.19.0.1, you'll need to create a new Deny access record and specify the IP and prefix as '172.19.0.0' and '24'. Additionally, you'll need to add an Allow access record for the specific IP '172.19.0.1'.Get whitelist / blacklist records
// whitelist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getWhiteList(); // blacklist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::getBlackList();
Determine whether an IP address is included in a whitelist or blacklist
// whitelist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinWhiteList($ip); // blacklist\SolutionForest\FilamentFirewall\Facade\FilamentFirewall::withinBlackList($ip);
php artisan vendor:publish --tag=filament-firewall-translations
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Please see License File for more information.