get($moduleName); $notice = null; require_admin(); if (!$module) { http_response_code(404); echo '
Modul nicht gefunden.
'; return; } if ($_SERVER['REQUEST_METHOD'] === 'POST') { $selectedUsers = is_array($_POST['auth_user_values'] ?? null) ? $_POST['auth_user_values'] : []; $selectedGroups = is_array($_POST['auth_group_values'] ?? null) ? $_POST['auth_group_values'] : []; $manualUsers = (string)($_POST['auth_users'] ?? ''); $manualGroups = (string)($_POST['auth_groups'] ?? ''); modules()->saveAuth($moduleName, [ 'required' => isset($_POST['auth_required']), 'users' => array_merge($selectedUsers, preg_split('/[,\\n]+/', $manualUsers) ?: []), 'groups' => array_merge($selectedGroups, preg_split('/[,\\n]+/', $manualGroups) ?: []), ]); $notice = 'Zugriff gespeichert.'; $module = modules()->get($moduleName) ?: $module; } $authConfig = is_array($module['auth'] ?? null) ? $module['auth'] : ['required' => false, 'users' => [], 'groups' => []]; $allowedUsers = is_array($authConfig['users'] ?? null) ? array_values(array_filter(array_map('strval', $authConfig['users']))) : []; $allowedGroups = is_array($authConfig['groups'] ?? null) ? array_values(array_filter(array_map('strval', $authConfig['groups']))) : []; $knownUsers = modules()->knownAuthUsers(); $knownGroups = modules()->knownAuthGroups(); $currentUser = auth_user(); if (is_array($currentUser) && trim((string)($currentUser['sub'] ?? '')) !== '') { $currentSub = (string)$currentUser['sub']; $hasCurrentUser = false; foreach ($knownUsers as $knownUser) { if ((string)($knownUser['sub'] ?? '') === $currentSub) { $hasCurrentUser = true; break; } } if (!$hasCurrentUser) { $knownUsers[] = [ 'sub' => $currentSub, 'username' => (string)($currentUser['username'] ?? ''), 'email' => (string)($currentUser['email'] ?? ''), 'name' => (string)($currentUser['name'] ?? ''), 'groups' => is_array($currentUser['groups'] ?? null) ? $currentUser['groups'] : [], ]; } } $knownGroups = array_values(array_unique(array_merge($knownGroups, auth_groups()))); sort($knownGroups, SORT_NATURAL | SORT_FLAG_CASE); $knownUserValues = array_column($knownUsers, 'sub'); $manualUsers = array_values(array_filter($allowedUsers, fn (string $value): bool => !in_array($value, $knownUserValues, true))); $manualGroups = array_values(array_filter($allowedGroups, fn (string $value): bool => !in_array($value, $knownGroups, true))); ?>
Zugriff

- Zugriffsrechte

Diese Seite ist nur fuer eingeloggte Mitglieder der Gruppe config()->oidcAdminGroup) ?> verfuegbar.

Erlaubte Benutzer Noch keine Keycloak-User bekannt. User erscheinen hier, nachdem sie sich einmal angemeldet haben.
Erlaubte Gruppen Noch keine Keycloak-Gruppen bekannt. Gruppen werden aus angemeldeten Usern und gespeicherten Modulrechten gesammelt.
Wenn Login aktiv ist und Benutzer/Gruppen leer bleiben, darf jeder eingeloggte Benutzer das Modul oeffnen.
Setup Zurück