PARTsolutions unterstützt mehrere alternative Benutzerdatenbanken. Es kann eine oder alle gleichzeitig aktiv sein. Allerdings ist nur Windows für eine automatische Anmeldung in den Clients tauglich. In allen anderen Fällen ist zwingend die manuelle Eingabe des Passwortes erforderlich. [PARTsolutions supports several user databases. One or more of them can be active at a given time. However, only Windows allows for automatic login within the clients. In all other cases, the manual input of the password is mandatory at login time.]
Damit die Benutzer/Gruppen auf der Registerseite Rechtezuordnung [Assign rights] angezeigt werden, setzen Sie auf den entsprechenden Registerseiten ein Häkchen unter Aktiv [Active]. Die Reihenfolge der Auswertung entspricht der Reihenfolge der Reiter: Windows, dann ERP, dann die restlichen...
Begrenzung für Abfragen [Limit for queries]: Maximalwert ist 999999.
Begrenzen kann hilfreich sein, kann andererseits aber auch dazu führen, dass die dargestellten Ergebnisse nicht vollständig sind.
Spätestens ab einer Menge von >9999 Einträgen im AD kommt es definitiv dazu, dass die Suchfunktion unter Rechtezuordnung [Assign rights] -> Bekannte Benutzer/Gruppen [Known users/groups] nicht mehr zuverlässig funktioniert, eventuell aber auch schon früher, was allerdings durch den Button abgefangen werden kann.
Grundsätzlich ist das Verhalten stark abhängig vom konkreten AD-Server.
Konfiguration von SSO über Microsoft Azure
Note: OpenID funktioniert nicht in Batch-Prozessen (daher muss unter Benutzerdatenbanken [User databases] auch Windows aktiviert sein).
Im Folgenden finden Sie eine detaillierte Beschreibung, die Sie lediglich auf Ihre eigene Umgebung entsprechend anpassen müssen.
Legen Sie im ersten Schritt in Ihrem Unternehmen in Microsoft Azure eine App-Registrierung für CADENAS PARTsolutions/3Dfindit an.
Rufen Sie https://portal.azure.com auf.
Melden Sie sich mit Ihrem Microsoft-Konto bei Microsoft Azure an.
Wenn API-Berechtigungen gesetzt wurden, erscheint folgende Abfrage zusätzlich, außer es wurde von Seiten der Administration ein Admin-Consent für alle Benutzer gesetzt. Ansonsten muss jeder User selbst explizit zustimmen. Siehe unten.
Klicken Sie auf App-Registrierungen.
Klicken Sie auf Neue Registrierung.
Füllen Sie den Dialog Anwendung registrieren aus und klicken Sie abschließend .
Name: Tragen Sie einen beliebigen Anzeigenamen ein (z.B. "CADENAS PARTsolutions/3Dfindit").
Unterstützte Kontotypen: Wählen Sie die Option Nur Konten in diesem Organisationsverzeichnis (nur "<Ihre Firma>" - einzelner Mandant) (in der beispielhaften Abbildung "CADENAS Technologies AG"),
Umleitungs-URI (optional): Wählen Sie im Listenfeld Öffentlicher Client/nativ (mobil und Desktop) und tragen Sie im Eingabefeld http://localhost/auth/login ein.
Filtern Sie nach der gerade angelegten Anwendung.
Selektieren Sie den Punkt Authentifizierung.
Klicken Sie URI hinzufügen und tragen Sie folgende Zeilen ein:
Selektieren Sie den Punkt Tokenkonfiguration und klicken Sie auf Gruppenanspruch hinzufügen.
Füllen Sie die Dialogseite Gruppenanspruch bearbeiten folgendermaßen aus:
Damit der Login funktioniert, müssen folgende API-Berechtigungen gesetzt sein:
Der Typ muss auf "Delegated" gesetzt sein.
Wenn Group.Read.All und GroupMember.Read.All und User.Read.All zusätzlich gesetzt werden, dann können innerhalb von PARTadmin die Benutzer und Gruppen aufgelistet werden. Für die reine Authentifizierung wird dies nicht benötigt.
Öffnen Sie die Zusammenfassung. Hier können Sie die gewünschten IDs in die Zwischenablage kopieren, um sie dann in PARTadmin einzufügen.
Selektieren Sie in PARTadmin unter Kategorie Rechteverwaltung [Rights administration] die Registerseite Benutzerdatenbanken [User databases] und die Unterseite OpenID.
Selektieren Sie unter Basic Type die Option Microsoft Azure AD.
Füllen Sie die einzelnen Felder entsprechend der Daten aus Microsoft Azure aus:
Issuer: Diese Url gibt den Pfad zum OpenID-Provider Realm bzw. des Azure-Tenant an. [This url specifies the path to the Openid provider realm or Azure tenant.]
https://login.microsoftonline.com/<Tenant-ID>/
Client-ID/App-ID: Die Applikations-Id bzw Client-Id für PARTsolutions im OpenID-Provider (AppId in der Applikations-Registrierung des Azure-Portals) [The application ID or client ID for PARTsolutions in the OpenId provider (AppId in the application registration of the Azure portal)]
Client-Secret [Client-Secret]: Das Client-Secret, das in der App-Registrierung für diesen Client hinterlegt ist. Kann weggelassen werden, wenn kein Auflisten der User/Gruppen über die Graph-Api benötigt wird. Ist nur für Azure relevant. [The client secret that is stored in the app registration for this client. Can be omitted if there is no need to list the users/groups via the Graph API. Is only relevant for Azure.]
Die gewünschte Gruppe kann auch manuell zugefügt werden, indem zur Ermittlung des korrekten Gruppennamens zuvor Testen... verwendet wird.
Normalerweise wird die Option nicht unbedingt benötigt, es sei denn, die Option Zusätzliche Attribute über den UserInfo-Endpunkt ermitteln [Identify additional attributes using the UserInfo endpoint] ist gesetzt.
Unter Zertifikate & Geheimnisse können Sie IDs erzeugen und auslesen.
Client-Redirect-Uri: Wenn ein Kunde beim Aufsetzen der OpenID Probleme hat, sollte er diese Einstellung und die msal-URI seiner App-Registrierungsseite verwenden.
Hier wird die in der App-Registrierung hinterlegte Redirect-URI eingetragen, die verwendet werden soll. Ist dieses Feld leer, so wird https://localhost/auth/login verwendet. Diese URI muss dann in der App-Registrierung erlaubt werden. Dieser Eintrag ist nur für die Mobile-Device and Desktop-Applications Plattform gedacht. Er wird nicht im Web-Anwendungsfall für 3dfindit verwendet, sondern nur für den Login in PARTadmin oder PARTdataManager. Die hier eingetragene URI kann vollkommen fiktiv sein, da sie nur für die Auswertung des Redirects vom OpenID-Provider relevant ist. [The redirect URI stored in the app registration that is to be used is entered here. If this field is empty, https://localhost/auth/login is used. This URI must then be allowed in the app registration. This entry is only intended for the mobile device and desktop applications platform. It is not used in the web application for 3dfindit, but only for the login to PARTadmin or PARTdataManager. The URI entered here can be completely fictitious, as it is only relevant for the evaluation of the redirect from the OpenID provider.]
msa64992203d-d6b0-4900-c40c-641ba8c06e1a://auth
Scopes: Benötigte Scopes für die Authentifizierung. Getrennt durch Leerzeichen. Standard ist "openid offline_access" [Required scopes for authentication. Separated by spaces. The default is "openid offline_access"]
Username-Claims (optional): Kommaseparierte Liste von Claims die als Quelle für die Benutzer-Id betrachtet werden sollen. Voreinstellung ist hier "preferred_username,upn,email,sub" [Comma-separated list of claims to be considered as the source for the user ID. The default setting here is "preferred_username,upn,email,sub"]
Gruppen-Claim [Group Claim] (optional): Name des Claims, aus dem die Gruppenzugehörigkeit extrahiert werden soll. Standard ist "groups" für Azure und "roles" für alles andere. Kann auf jeden anderen Claim hier umgestellt werden. [Name of the claim from which the group membership is to be extracted. The default is "groups" for Azure and "roles" for everything else. Can be switched to any other claim here.]
Erforderliche Gruppe [Required group]: Name einer Gruppe, in der der Benutzer sein muss, damit er als gültiger Benutzer angesehen wird. Wenn kein Eintrag angegeben ist, werden alle Benutzer als gültig angesehen. [Name of a group in which the user must be in order to be considered a valid user. If no entry is specified, all users are considered valid.]
Zusätzliche Attribute über den UserInfo-Endpunkt ermitteln [Identify additional attributes using the UserInfo endpoint]: Nicht relevant bei Azure.
Öffnen Sie PARTadmin -> Kategorie Rechteverwaltung [Rights administration] -> Registerseite Rechtezuordnung [Assign rights].
-> Das Dialogfenster Authentifizierung überprüfen... [Check authentification...] wird geöffnet.
Wählen Sie die Option OPENID und klicken Sie Anmelden... [Login...].
-> Das Dialogfenster Benutzer authentifizieren [Authenticate user] wird geöffnet.
Klicken Sie auf Ihren Account, geben Sie Ihr Passwort ein und klicken Sie .
-> Im Dialogbereich Ergebnis [Result] werden die Daten angezeigt.
Merken Sie sich den gewünschten User bzw. die gewünschte Gruppe und schließen Sie den Dialog.
Selektieren Sie den Eintrag User oder Groups und klicken Sie .
-> Das Dialogfenster Gruppe eingeben... [Enter group...] wird geöffnet.
Tragen Sie User- bzw. Gruppenname ein und bestätigen Sie mit .
Weisen Sie der selektierten Gruppe bzw. dem User den gewünschten Rollensatz zu.
Starten Sie zum Testen PARTdataManager und klicken Sie auf den Button Benutzer authentifizieren/wechseln [Authenticate/switch users].
-> Der Dialog Benutzer authentifizieren [Authenticate user] wird geöffnet.
Soll ein Login per Windows-User möglich sein (Autologin), muss auf der Registerseite Windows die Option Aktiv [Active] aktiviert sein.
Per Default ist die Option Aktiv [Active] aktiviert, was in den allermeisten Fällen sinnvoll ist.
Wird sie deaktiviert, kann keine Windows-basierte Benutzerauthentifizierung erfolgen.
Verwende Active-Directory wenn verfügbar (sonst wird nur die lokale Benutzerdatenbank des Rechners verwendet) [Use Active Directory - if available (otherwise only local user database of computer is used)]:
In Azure-ID / Entra-ID Szenarien sind Computer evtl. nicht in der Lage AD-Benutzer via Zugriff auf den AD-Controller aufzulösen (selbst wenn sie noch mit einer Domain verbunden sind).
In solchen Situationen ist es nicht ratsam zu versuchen Benutzer via AD aufzulösen.
Diese Option erlaubt es AD-Suchen zu deaktivieren. Die lokale Benutzer-Datenbank bleibt verwendbar, da der Server möglicherweise als lokales Benutzerkonto läuft.
Verwende globalen Katalog für Abfragen [Use global catalog for queries]: Aktivieren Sie die Option bei einem Active Directory Forest (Default ist "aus")
Begrenzung für Abfragen [Limit for queries]: Achten Sie bitte darauf, dass keine 0 eingetragen ist!
Das passiert dann, wenn man den Haken Aktiv [Active] für Windows entfernt, dann PARTadmin beendet und neu startet und dann die Benutzerdatenbank "Windows" wieder aktiviert.
Verschachtelte Gruppenzugehörigkeiten berücksichtigen [Check for hierarchical group memberships]: Die Auswertung erfolgt rekursiv über hierarchisch übergeordnete Ebenen.
Extrahiere Gruppenzugehörigkeit aus speziellem AD/LDAP Attribut [Extract group membership from special AD/LDAP attribute]:
Sollte es Probleme mit dem Autologin im PARTapplicationServer über Windows-Username geben, prüfen Sie bitte folgende Grundeinstellungen:
Im Dialog "Eigenschaften von Internet" -> Registerseite "Erweitert" muss die Option "Integrierte Windows-Authentifizierung aktivieren" aktiviert sein.
Im Dialog "Sicherheitseinstellungen - Internetzone" muss die Option "Automatisches Anmelden nur in der Intranetzone" aktiviert sein.
Die http-Adresse des Appservers muss in die lokale Sicherheitszone mit aufgenommen sein.
Soll im Dialog Benutzerauthentifizierung der Login mit ERP-Benutzern möglich sein, muss die Option Aktiv [Active] aktiviert sein (Default).
Legen Sie Benutzer via Button an. Vergeben Sie im Dialog Name und Passwort [Password]. Wenn Sie das Passwort später ändern möchten (via ), setzen Sie einfach ein neues (das alte wird nicht angezeigt).
Sind oben genannte Voraussetzungen erfüllt, kann die Benutzerauthentifizierung im Dialog Benutzer authentifizieren [Authenticate user] mit Benutzer und Passwort Eingabe erfolgen.
Stehen mehrere Rollen zur Verfügung, öffnet sich das Dialogfenster Rolle wählen [Select role].
Kann für keinen Benutzer eine Authentifizierung erfolgen, erscheint die Fehlermeldung Ungültiger Username oder Passwort! [Invalid username or password!]: