Skip to content
Snippets Groups Projects
Unverified Commit feb5366a authored by Arthur Schiwon's avatar Arthur Schiwon
Browse files

LDAP clear cache on config modification also when done via API or CLI

parent 9322f506
No related branches found
No related tags found
No related merge requests found
...@@ -24,6 +24,8 @@ ...@@ -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 { ...@@ -50,5 +52,9 @@ class Application extends App {
$server->getURLGenerator() $server->getURLGenerator()
); );
}); });
$container->registerService(ILDAPWrapper::class, function () {
return new LDAP();
});
} }
} }
...@@ -26,6 +26,8 @@ ...@@ -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 { ...@@ -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; ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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 { ...@@ -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) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment