Fix LDAP Authorization Authorizer (#15267)

https://community.librenms.org/t/8-28-sudden-ldap-authentication-issues/22176/10
This commit is contained in:
Tony Murray
2023-08-30 12:33:13 -05:00
committed by GitHub
parent 976cb53ead
commit 9c6fc31113

View File

@@ -130,14 +130,16 @@ class LdapAuthorizationAuthorizer extends AuthorizerBase
$authLdapGroups = Config::get('auth_ldap_groups');
// Collect all roles
foreach ($entries as $entry) {
$groupname = $entry['cn'][0];
if (isset($entry['cn'][0])) {
$groupname = $entry['cn'][0];
if (isset($authLdapGroups[$groupname]['roles']) && is_array($authLdapGroups[$groupname]['roles'])) {
$roles = array_merge($roles, $authLdapGroups[$groupname]['roles']);
} elseif (isset($authLdapGroups[$groupname]['level'])) {
$role = LegacyAuthLevel::tryFrom($authLdapGroups[$groupname]['level'])?->getName();
if ($role) {
$roles[] = $role;
if (isset($authLdapGroups[$groupname]['roles']) && is_array($authLdapGroups[$groupname]['roles'])) {
$roles = array_merge($roles, $authLdapGroups[$groupname]['roles']);
} elseif (isset($authLdapGroups[$groupname]['level'])) {
$role = LegacyAuthLevel::tryFrom($authLdapGroups[$groupname]['level'])?->getName();
if ($role) {
$roles[] = $role;
}
}
}
}