summaryrefslogtreecommitdiff
path: root/app/Core/Ldap/User.php
diff options
context:
space:
mode:
Diffstat (limited to 'app/Core/Ldap/User.php')
-rw-r--r--app/Core/Ldap/User.php17
1 files changed, 17 insertions, 0 deletions
diff --git a/app/Core/Ldap/User.php b/app/Core/Ldap/User.php
index c54aa1ac..91b48530 100644
--- a/app/Core/Ldap/User.php
+++ b/app/Core/Ldap/User.php
@@ -108,12 +108,18 @@ class User
/**
* Get role from LDAP groups
*
+ * Note: Do not touch the current role if groups are not configured
+ *
* @access protected
* @param string[] $groupIds
* @return string
*/
protected function getRole(array $groupIds)
{
+ if ($this->hasGroupsNotConfigured()) {
+ return null;
+ }
+
foreach ($groupIds as $groupId) {
$groupId = strtolower($groupId);
@@ -272,6 +278,17 @@ class User
}
/**
+ * Return true if LDAP Group mapping is not configured
+ *
+ * @access public
+ * @return boolean
+ */
+ public function hasGroupsNotConfigured()
+ {
+ return !$this->getGroupAdminDn() && !$this->getGroupManagerDn();
+ }
+
+ /**
* Get LDAP admin group DN
*
* @access public