by alan lam
Depends on akaunting/laravel-firewall, Manage Firewall under Filament Admin Panel.
#firewall on Discord
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
protected $middleware = [...\SolutionForest\FilamentFirewall\Middleware\WhitelistRangeMiddleware::class,];
You can change the setting in the
config/filament-firewall.php file to skip the middleware
WhitelistRangeMiddlewaremiddleware 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 inf[email protected] instead of using the issue tracker.
Please see License File for more information.