LDAP clear cache on config modification also when done via API or CLI
Signed-off-by: Arthur Schiwon <blizzz@arthur-schiwon.de>
This commit is contained in:
parent
9322f5064a
commit
feb5366a42
|
@ -24,6 +24,8 @@
|
||||||
namespace OCA\User_LDAP\AppInfo;
|
namespace OCA\User_LDAP\AppInfo;
|
||||||
|
|
||||||
use OCA\User_LDAP\Controller\RenewPasswordController;
|
use OCA\User_LDAP\Controller\RenewPasswordController;
|
||||||
|
use OCA\User_LDAP\ILDAPWrapper;
|
||||||
|
use OCA\User_LDAP\LDAP;
|
||||||
use OCP\AppFramework\App;
|
use OCP\AppFramework\App;
|
||||||
use OCP\AppFramework\IAppContainer;
|
use OCP\AppFramework\IAppContainer;
|
||||||
use OCP\IL10N;
|
use OCP\IL10N;
|
||||||
|
@ -50,5 +52,9 @@ class Application extends App {
|
||||||
$server->getURLGenerator()
|
$server->getURLGenerator()
|
||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
$container->registerService(ILDAPWrapper::class, function () {
|
||||||
|
return new LDAP();
|
||||||
|
});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,6 +26,8 @@
|
||||||
|
|
||||||
namespace OCA\User_LDAP\Command;
|
namespace OCA\User_LDAP\Command;
|
||||||
|
|
||||||
|
use OCA\User_LDAP\ConnectionFactory;
|
||||||
|
use OCA\User_LDAP\LDAP;
|
||||||
use Symfony\Component\Console\Command\Command;
|
use Symfony\Component\Console\Command\Command;
|
||||||
use Symfony\Component\Console\Input\InputArgument;
|
use Symfony\Component\Console\Input\InputArgument;
|
||||||
use Symfony\Component\Console\Input\InputInterface;
|
use Symfony\Component\Console\Input\InputInterface;
|
||||||
|
@ -83,5 +85,8 @@ class SetConfig extends Command {
|
||||||
$configHolder = new Configuration($configID);
|
$configHolder = new Configuration($configID);
|
||||||
$configHolder->$key = $value;
|
$configHolder->$key = $value;
|
||||||
$configHolder->saveConfiguration();
|
$configHolder->saveConfiguration();
|
||||||
|
|
||||||
|
$connectionFactory = new ConnectionFactory(new LDAP());
|
||||||
|
$connectionFactory->get($configID)->clearCache();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -27,6 +27,7 @@ use OC\CapabilitiesManager;
|
||||||
use OC\Core\Controller\OCSController;
|
use OC\Core\Controller\OCSController;
|
||||||
use OC\Security\IdentityProof\Manager;
|
use OC\Security\IdentityProof\Manager;
|
||||||
use OCA\User_LDAP\Configuration;
|
use OCA\User_LDAP\Configuration;
|
||||||
|
use OCA\User_LDAP\ConnectionFactory;
|
||||||
use OCA\User_LDAP\Helper;
|
use OCA\User_LDAP\Helper;
|
||||||
use OCP\AppFramework\Http\DataResponse;
|
use OCP\AppFramework\Http\DataResponse;
|
||||||
use OCP\AppFramework\OCS\OCSBadRequestException;
|
use OCP\AppFramework\OCS\OCSBadRequestException;
|
||||||
|
@ -45,6 +46,9 @@ class ConfigAPIController extends OCSController {
|
||||||
/** @var ILogger */
|
/** @var ILogger */
|
||||||
private $logger;
|
private $logger;
|
||||||
|
|
||||||
|
/** @var ConnectionFactory */
|
||||||
|
private $connectionFactory;
|
||||||
|
|
||||||
public function __construct(
|
public function __construct(
|
||||||
$appName,
|
$appName,
|
||||||
IRequest $request,
|
IRequest $request,
|
||||||
|
@ -53,7 +57,8 @@ class ConfigAPIController extends OCSController {
|
||||||
IUserManager $userManager,
|
IUserManager $userManager,
|
||||||
Manager $keyManager,
|
Manager $keyManager,
|
||||||
Helper $ldapHelper,
|
Helper $ldapHelper,
|
||||||
ILogger $logger
|
ILogger $logger,
|
||||||
|
ConnectionFactory $connectionFactory
|
||||||
) {
|
) {
|
||||||
parent::__construct(
|
parent::__construct(
|
||||||
$appName,
|
$appName,
|
||||||
|
@ -67,6 +72,7 @@ class ConfigAPIController extends OCSController {
|
||||||
|
|
||||||
$this->ldapHelper = $ldapHelper;
|
$this->ldapHelper = $ldapHelper;
|
||||||
$this->logger = $logger;
|
$this->logger = $logger;
|
||||||
|
$this->connectionFactory = $connectionFactory;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -198,6 +204,7 @@ class ConfigAPIController extends OCSController {
|
||||||
}
|
}
|
||||||
|
|
||||||
$configuration->saveConfiguration();
|
$configuration->saveConfiguration();
|
||||||
|
$this->connectionFactory->get($configID)->clearCache();
|
||||||
} catch(OCSException $e) {
|
} catch(OCSException $e) {
|
||||||
throw $e;
|
throw $e;
|
||||||
} catch (\Exception $e) {
|
} catch (\Exception $e) {
|
||||||
|
|
Loading…
Reference in New Issue