From 9a5b7fdde31552deb231fa0d24c165e171a1337d Mon Sep 17 00:00:00 2001 From: Sebastian Marcet Date: Mon, 10 Apr 2017 11:50:23 -0300 Subject: [PATCH] Tunning IDP * added cache to IP whitelisting checking * set redis persistent connections Change-Id: Iace8fd148e35c8b29d70bcddbd138ea557bd7f9f --- .../SecurityPolicies/BlacklistSecurityPolicy.php | 12 ++++++++++-- config/database.php | 9 +++++---- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/app/Services/SecurityPolicies/BlacklistSecurityPolicy.php b/app/Services/SecurityPolicies/BlacklistSecurityPolicy.php index 47997b49..24136496 100644 --- a/app/Services/SecurityPolicies/BlacklistSecurityPolicy.php +++ b/app/Services/SecurityPolicies/BlacklistSecurityPolicy.php @@ -67,7 +67,8 @@ class BlacklistSecurityPolicy extends AbstractBlacklistSecurityPolicy ICacheService $cache_service, IResourceServerRepository $resource_server_repository, ITransactionService $tx_service - ) { + ) + { parent::__construct($server_configuration_service, $lock_manager_service, $cache_service, $tx_service); $this->resource_server_repository = $resource_server_repository; // here we configure on which exceptions are we interested and the max occurrence attempts and initial delay on tar pit for @@ -249,10 +250,17 @@ class BlacklistSecurityPolicy extends AbstractBlacklistSecurityPolicy */ private function isIPAddressWhiteListed($ip) { + $cache_value = $this->cache_service->getSingleValue($ip.".whitelisted"); + if(!empty($cache_value)) return true; + $resource_server = $this->resource_server_repository->getByIp($ip); $white_listed_ip = $this->white_listed_ip_repository->getByIp($ip); - return !is_null($resource_server) || !is_null($white_listed_ip); + $white_listed = !is_null($resource_server) || !is_null($white_listed_ip); + if($white_listed) + $this->cache_service->setSingleValue($ip.".whitelisted", $ip.".whitelisted"); + + return $white_listed; } } diff --git a/config/database.php b/config/database.php index 680366f4..d74f4a8e 100644 --- a/config/database.php +++ b/config/database.php @@ -100,10 +100,11 @@ return [ 'cluster' => false, 'default' => [ - 'host' => env('REDIS_HOST'), - 'port' => env('REDIS_PORT'), - 'database' => env('REDIS_DB', 0), - 'password' => env('REDIS_PASSWORD'), + 'host' => env('REDIS_HOST'), + 'port' => env('REDIS_PORT'), + 'database' => env('REDIS_DB', 0), + 'password' => env('REDIS_PASSWORD'), + 'persistent' => 1, ], ],