[evolvis-commits] r15188: Refresh cached available roles when needed
mirabilos at evolvis.org
mirabilos at evolvis.org
Mon Feb 28 23:48:34 CET 2011
Author: mirabilos
Date: 2011-02-28 23:48:34 +0100 (Mon, 28 Feb 2011)
New Revision: 15188
Modified:
trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php
trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php
Log:
Refresh cached available roles when needed
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php 2011-02-28 22:48:31 UTC (rev 15187)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/RBACEngine.class.php 2011-02-28 22:48:34 UTC (rev 15188)
@@ -68,6 +68,10 @@
return $this->_cached_available_roles ;
}
+ public function invalidateRoleCaches () {
+ $this->_cached_available_roles = NULL ;
+ }
+
public function getAvailableRolesForUser($user) {
$result = array () ;
Modified: trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php
===================================================================
--- trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php 2011-02-28 22:48:31 UTC (rev 15187)
+++ trunk/gforge_base/evolvisforge-5.1/gforge/common/include/session.php 2011-02-28 22:48:34 UTC (rev 15188)
@@ -112,6 +112,8 @@
// NB: cookies must be deleted with the same scope parameters they were set with
//
session_cookie('session_ser', '');
+
+ RBACEngine::getInstance()->invalidateRoleCaches() ;
return true;
}
@@ -473,6 +475,7 @@
}
}
+ RBACEngine::getInstance()->invalidateRoleCaches() ;
}
@@ -561,6 +564,8 @@
}
}
plugin_hook('session_set_return');
+
+ RBACEngine::getInstance()->invalidateRoleCaches() ;
}
//TODO - this should be generalized and used for pre.php,
More information about the evolvis-commits
mailing list