Multi-Tenant-Umschaltung + Pro-Tenant-Vorgaben, RPA deaktiviert
- Multi-Tenant: Settings-Schalter Single/Multi, Profile mit je eigener App-Registrierung, Topbar-Umschalter mit Sofort-Reconnect; verlustfreie Migration (Get-ActiveConnection/-TenantProfile, /api/tenants[/switch]). - Pro-Tenant-Overrides mit globalem Fallback: Abteilungs-Praefixe sowie Required-/Available-Gruppen-Naming (Get-DepartmentPrefixes/Get-GroupNaming tenant-bewusst; New-GroupEndpoint nutzt Resolver). - RPA komplett deaktiviert: Mode-Tab, globaler Settings-Abschnitt und Test-Anzeige entfernt. - Setup-Zwang gelockert: nur Tenant ID + Client ID Pflicht; Abteilungs- Praefixe optional (kein harter Setup-Blocker mehr). - api(): "Failed to fetch" -> klare Meldung "Server nicht erreichbar…". - Hilfe-Footer: "Entwickelt von WendeIT – Marco Wende". Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
+41
-26
@@ -53,6 +53,7 @@
|
||||
<span class="theme-knob"></span>
|
||||
</span>
|
||||
</button>
|
||||
<select id="tenantSwitch" class="tenant-switch hidden" title="Aktiven Mandanten wechseln"></select>
|
||||
<div id="connStatus" class="conn-pill conn-off" title="Verbindungsstatus">
|
||||
<span class="dot"></span>
|
||||
<span class="conn-text">Offline</span>
|
||||
@@ -80,7 +81,7 @@
|
||||
Es öffnet sich ein Microsoft-Anmeldefenster. Wähle den gewünschten Account aus.
|
||||
</p>
|
||||
<div id="onboardingSetupHint" class="banner-warning hidden">
|
||||
Konfiguration unvollständig — bitte zuerst <a href="#" id="onboardingOpenSettings">Einstellungen</a> öffnen und Tenant ID, Client ID und Abteilungs-Präfix setzen.
|
||||
Konfiguration unvollständig — bitte zuerst <a href="#" id="onboardingOpenSettings">Einstellungen</a> öffnen und Tenant ID und Client ID setzen.
|
||||
</div>
|
||||
<button id="btnConnect" class="btn btn-primary btn-lg">
|
||||
<svg width="16" height="16" viewBox="0 0 24 24" fill="currentColor"><path d="M11.4 2.4H2.4v9h9v-9zm10.2 0h-9v9h9v-9zm-10.2 10.2H2.4v9h9v-9zm10.2 0h-9v9h9v-9z"/></svg>
|
||||
@@ -134,7 +135,6 @@
|
||||
|
||||
<div class="mode-segment" role="tablist">
|
||||
<button class="seg active" data-mode="dept" role="tab">Abteilung</button>
|
||||
<button class="seg" data-mode="rpa" role="tab">RPA</button>
|
||||
<button class="seg" data-mode="user" role="tab">Benutzer</button>
|
||||
</div>
|
||||
|
||||
@@ -912,7 +912,7 @@
|
||||
|
||||
<div id="setupBanner" class="banner-warning hidden">
|
||||
<strong>Erste Konfiguration noetig.</strong>
|
||||
Bitte mindestens Tenant ID, Client ID und Abteilungs-Praefix setzen. Danach <em>Verbindung + Lookups testen</em> ganz unten, dann speichern.
|
||||
Bitte mindestens Tenant ID und Client ID setzen. Abteilungs-Präfixe sind optional. Danach <em>Verbindung + Lookups testen</em> ganz unten, dann speichern.
|
||||
</div>
|
||||
|
||||
<section class="settings-sec">
|
||||
@@ -921,20 +921,46 @@
|
||||
<div class="settings-sec-sub">Tenant- und App-Registrierung. Änderungen erzwingen einen Disconnect.</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setTenantId">Tenant ID (GUID)</label>
|
||||
<input type="text" id="setTenantId" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">Findest du im Entra Admin Center → Übersicht → Tenant-Informationen.</div>
|
||||
<label class="lbl" for="setConnMode">Verbindungsmodus</label>
|
||||
<select id="setConnMode" class="input">
|
||||
<option value="single">Single-Tenant (ein Mandant)</option>
|
||||
<option value="multi">Multi-Tenant (mehrere Mandanten, Umschalten in der Topbar)</option>
|
||||
</select>
|
||||
<div class="form-hint">Im Multi-Tenant-Modus hinterlegst du mehrere Mandanten mit je eigener App-Registrierung und wechselst oben rechts zwischen ihnen.</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setClientId">Client ID – Read/Write (GUID)</label>
|
||||
<input type="text" id="setClientId" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">App-Registrierung mit Schreibrechten. Erforderlich: <em>Allow public client flows</em> = Ja, Redirect URI <code>http://localhost</code>.</div>
|
||||
|
||||
<!-- Single-Tenant Felder -->
|
||||
<div id="setSingleConn">
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setTenantId">Tenant ID (GUID)</label>
|
||||
<input type="text" id="setTenantId" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">Findest du im Entra Admin Center → Übersicht → Tenant-Informationen.</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setClientId">Client ID – Read/Write (GUID)</label>
|
||||
<input type="text" id="setClientId" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">App-Registrierung mit Schreibrechten. Erforderlich: <em>Allow public client flows</em> = Ja, Redirect URI <code>http://localhost</code>.</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setClientIdRo">Client ID – Read Only (GUID, optional)</label>
|
||||
<input type="text" id="setClientIdRo" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">Separate App-Registrierung ohne Schreibrechte. Nutzer dieser App sehen alle Daten, können aber nichts ändern. Leer lassen wenn nicht benötigt.</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setClientIdRo">Client ID – Read Only (GUID, optional)</label>
|
||||
<input type="text" id="setClientIdRo" class="input mono" placeholder="00000000-0000-0000-0000-000000000000" spellcheck="false" autocomplete="off">
|
||||
<div class="form-hint">Separate App-Registrierung ohne Schreibrechte. Nutzer dieser App sehen alle Daten, können aber nichts ändern. Leer lassen wenn nicht benötigt.</div>
|
||||
|
||||
<!-- Multi-Tenant Profile -->
|
||||
<div id="setMultiConn" class="hidden">
|
||||
<div class="form-group">
|
||||
<label class="lbl">Tenant-Profile</label>
|
||||
<div class="form-hint" style="margin-bottom:8px;">Pro Mandant eine eigene App-Registrierung. Der aktive Mandant ist markiert; umschalten geht auch über die Topbar.</div>
|
||||
<div id="setTenantList" class="tenant-list"></div>
|
||||
<button type="button" id="btnAddTenant" class="btn btn-secondary btn-sm" style="margin-top:8px;">
|
||||
<svg width="13" height="13" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round"><line x1="12" y1="5" x2="12" y2="19"/><line x1="5" y1="12" x2="19" y2="12"/></svg>
|
||||
Tenant hinzufügen
|
||||
</button>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setScopes">Scopes Read/Write (eine pro Zeile)</label>
|
||||
<textarea id="setScopes" class="input mono" rows="4" spellcheck="false" placeholder="Group.ReadWrite.All GroupMember.ReadWrite.All User.Read.All DeviceManagementApps.ReadWrite.All"></textarea>
|
||||
@@ -958,17 +984,6 @@
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="settings-sec">
|
||||
<div class="settings-sec-head">
|
||||
<h4>RPA-Gruppen</h4>
|
||||
<div class="settings-sec-sub">Genaue <code>displayName</code>-Werte der Gruppen, die im RPA-Tab angezeigt werden. Eine pro Zeile.</div>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label class="lbl" for="setRpaGroups">RPA-Gruppennamen</label>
|
||||
<textarea id="setRpaGroups" class="input mono" rows="4" spellcheck="false" placeholder="intune-userrole-windowsclientuser-rpa intune-userrole-windowsclientuser-rpa-fbt intune-userrole-windowsclientuser-rpa-pro"></textarea>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section class="settings-sec">
|
||||
<div class="settings-sec-head">
|
||||
<h4>Benutzer-Suche</h4>
|
||||
@@ -1131,7 +1146,7 @@
|
||||
<section class="settings-sec">
|
||||
<div class="settings-sec-head">
|
||||
<h4>Konfiguration pruefen</h4>
|
||||
<div class="settings-sec-sub">Prueft die aktuell eingetragenen Werte gegen Microsoft Graph: Abteilungs-Gruppen-Lookup, RPA-Gruppen und Benutzer-Suche. Voraussetzung: Verbindung steht.</div>
|
||||
<div class="settings-sec-sub">Prueft die aktuell eingetragenen Werte gegen Microsoft Graph: Abteilungs-Gruppen-Lookup und Benutzer-Suche. Voraussetzung: Verbindung steht.</div>
|
||||
</div>
|
||||
<div class="form-row">
|
||||
<button type="button" class="btn btn-secondary" id="btnSettingsTest">Verbindung + Lookups testen</button>
|
||||
|
||||
Reference in New Issue
Block a user