summaryrefslogtreecommitdiff
path: root/app/Core
diff options
context:
space:
mode:
Diffstat (limited to 'app/Core')
-rw-r--r--app/Core/Security/AuthenticationManager.php2
-rw-r--r--app/Core/Session/SessionStorage.php15
2 files changed, 16 insertions, 1 deletions
diff --git a/app/Core/Security/AuthenticationManager.php b/app/Core/Security/AuthenticationManager.php
index dbc41b09..8e5f76be 100644
--- a/app/Core/Security/AuthenticationManager.php
+++ b/app/Core/Security/AuthenticationManager.php
@@ -71,7 +71,7 @@ class AuthenticationManager extends Base
if ($this->userSession->isLogged() ) {
foreach ($this->filterProviders('SessionCheckProviderInterface') as $provider) {
if (! $provider->isValidSession()) {
- unset($this->sessionStorage->user);
+ $this->sessionStorage->flush();
$this->preAuthentication();
return false;
}
diff --git a/app/Core/Session/SessionStorage.php b/app/Core/Session/SessionStorage.php
index 11230793..f55a7ee3 100644
--- a/app/Core/Session/SessionStorage.php
+++ b/app/Core/Session/SessionStorage.php
@@ -62,6 +62,21 @@ class SessionStorage
}
/**
+ * Flush session data
+ *
+ * @access public
+ */
+ public function flush()
+ {
+ $session = get_object_vars($this);
+ unset($session['storage']);
+
+ foreach (array_keys($session) as $property) {
+ unset($this->$property);
+ }
+ }
+
+ /**
* Copy class properties to external storage
*
* @access public