Important
Please note that we will only be updating to version 2.x, excluding any bug fixes.
Solution Forest Web development agency based in Hong Kong. We help customers to solve their problems. We Love Open Soruces.
We have built a collection of best-in-class products:
- VantagoAds: A self manage Ads Server, Simplify Your Advertising Strategy.
- GatherPro.events: A Event Photos management tools, Streamline Your Event Photos.
- Website CMS Management: Website CMS Management - Filament CMS Plugin
- Filaletter: Filaletter - Filament Newsletter Plugin
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 theapp\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 middlewareWhitelistRangeMiddleware
check. -
Register the plugin in your Panel provider:
Important: Register the plugin in your Panel provider after version 2.x
use SolutionForest\FilamentFirewall\FilamentFirewallPanel; public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentFirewallPanel::make()); }
- On the IP Firewall page, you have the ability to add IPs to either a whitelist or a blocklist. The
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.