Benutzer und Anmeldung
Jede Person, die mit dem invoiceR arbeitet, braucht einen Benutzer. Was ein Benutzer sehen und tun darf, steuerst du über Berechtigungen, am besten über Rollen (siehe Berechtigungen).
Woher die Benutzer kommen
Abschnitt betitelt „Woher die Benutzer kommen“- Von Hand: Unter
Administration > Benutzerlegst du Benutzer direkt im invoiceR an und pflegst sie. - Import aus Active Directory (LDAP): Ein wiederkehrender Job (Benutzer von ActiveDirectory importieren) liest die Benutzer einer AD-Gruppe ein.
- Import aus Microsoft Entra ID: Ein wiederkehrender Job (Benutzer von Azure AD importieren) liest die Mitglieder einer Entra-Gruppe über Microsoft Graph ein. Neue Benutzer werden angelegt, geänderte aktualisiert und in Entra deaktivierte Benutzer im invoiceR gelöscht.
Import aus Microsoft Entra ID vorbereiten
Abschnitt betitelt „Import aus Microsoft Entra ID vorbereiten“- Lege eine App-Registrierung an (oder verwende eine bestehende für den invoiceR) und notiere Tenant ID, Application (client) ID und Client Secret.
- Füge unter API permissions für Microsoft Graph die Anwendungsberechtigungen
User.Read.All,Group.Read.AllundGroupMember.Read.Allhinzu und erteile Grant admin consent. - Lege in Entra ID eine Gruppe mit allen Personen an, die den invoiceR nutzen, und notiere deren Object ID.
Die Werte trägt enio in die Konfiguration des Import-Jobs ein:
| Schlüssel | Inhalt |
|---|---|
TenantId | Tenant ID des Microsoft-Mandanten. |
ClientId | Application ID der App-Registrierung. |
ClientSecret | Client Secret der App-Registrierung. |
GroupObjectId | Object ID der Gruppe, deren Mitglieder importiert werden. |
DefaultRoleIds | Optional. Rollen, die neue Benutzer automatisch erhalten. |
UseOnPremisesSamAccountNameAsUsername | Optional. true übernimmt den Windows-Anmeldenamen als Benutzername, nötig zusammen mit der Windows-Anmeldung. |
Anmeldeverfahren
Abschnitt betitelt „Anmeldeverfahren“Benutzername und Passwort
Abschnitt betitelt „Benutzername und Passwort“Standard. Benutzer melden sich mit Benutzername und Passwort an, siehe Anmelden und abmelden.
Anmeldung mit Microsoft Entra ID (OpenID Connect)
Abschnitt betitelt „Anmeldung mit Microsoft Entra ID (OpenID Connect)“Benutzer melden sich mit ihrem Microsoft-Konto an. Dafür braucht die App-Registrierung zusätzlich:
- Unter Authentication > Add a platform > Web die Umleitungsadresse (Redirect URI), die du von enio erhältst.
- Die Option ID tokens.
- Unter Token configuration > Add optional claim > ID den Claim
email; bestätige dabei, dass die Microsoft-Graph-Berechtigungemailaktiviert wird.
Die Anmeldung wird im Backend im Abschnitt Authentication:OpenId der appsettings eingerichtet.
Windows-Anmeldung (Single Sign-on mit Kerberos)
Abschnitt betitelt „Windows-Anmeldung (Single Sign-on mit Kerberos)“Benutzer im Firmennetz werden automatisch mit ihrem Windows-Konto angemeldet. Das braucht Einstellungen im IIS, in der Domäne und in den Browsern.
1. IIS einrichten
- Aktiviere im Server Manager das IIS-Feature Windows Authentication.
- Aktiviere bei der Backend-Website unter Authentication sowohl Anonymous Authentication als auch Windows Authentication.
- Lass den Application Pool des Backends unter einem Domänen-Dienstkonto laufen, zum Beispiel
CONTOSO\sa-invoicer. - Stelle im Configuration Editor (
system.webServer/security/authentication/windowsAuthentication)useAppPoolCredentialsaufTrue.
Die web.config des Backends enthält danach:
<system.webServer> <security> <authentication> <anonymousAuthentication enabled="true" /> <windowsAuthentication enabled="true" useAppPoolCredentials="true" /> </authentication> </security></system.webServer>Meldet der IIS „This configuration section cannot be used at this path“, gib den Abschnitt zuerst auf Server-Ebene im Configuration Editor frei (Unlock Section).
2. SPN-Einträge in der Domäne
Ist das Backend unter einem anderen Namen als dem Servernamen erreichbar, muss ein Domänen-Administrator die Adresse dem Dienstkonto zuordnen. Den HTTP-Eintrag braucht es auch dann, wenn nur HTTPS verwendet wird:
setspn -A HTTP/invoicer-backend CONTOSO\sa-invoicersetspn -A HTTP/invoicer-backend.contoso.ch CONTOSO\sa-invoicerPrüfen kann auch ein Benutzer ohne Domänen-Rechte: setspn -L CONTOSO\sa-invoicer.
3. Browser
Die Browser senden die Windows-Anmeldung nur an Adressen der Zone „Lokales Intranet“. Trage die Adressen von Frontend und Backend per Gruppenrichtlinie in diese Zone ein und erlaube dort die automatische Anmeldung. Sonst erscheint ein Anmeldefenster.
4. Im invoiceR einschalten
Unter Administration > Einstellungen im Register Andere Einstellungen aktivierst du
‘Windows Authentication’ (Single-Sign-On) aktivieren. Auf der Anmeldeseite erscheint dann
Mit Windows-Benutzer einloggen.
Fehler suchen
https://<backend-adresse>/api/TokenAuth/WindowsAuthTestgibt bei funktionierender Einrichtung den erkannten Windows-Benutzer zurück.- Kommt das Anmeldefenster immer wieder, stimmt etwas mit IIS oder Kerberos (SPN) nicht. Klappt es nach einmaliger Eingabe, erkennt der Browser die Adresse nicht als Intranet.
- Antworten Aufrufe nach dem Einschalten mit Status 302, prüfe, ob die Backend-Adresse in der Konfiguration doppelte Schrägstriche enthält.
Abmelden
Abschnitt betitelt „Abmelden“Ist die Windows-Anmeldung eingeschaltet oder die Anmeldung über OpenID Connect aktiv, blendet der invoiceR Abmelden im Benutzermenü aus. Ein Abmelden würde nichts nützen, weil der Benutzer sofort wieder automatisch angemeldet wird.
Benutzer mit der Berechtigung Erlaube Logout trotz ‘Windows Authentication’
(General.AllowLogoutDespiteWindowsAuthentication) sehen Abmelden trotzdem. Sie können sich abmelden und
mit einem anderen Benutzer anmelden, zum Beispiel für Tests oder Support. Die Berechtigung vergibst du unter
Administration > Rollen.
