Laden...

SSO User erstellen/konfigurieren

Erstellt von Moma2023 vor 25 Tagen Letzter Beitrag vor 25 Tagen 236 Views
M
Moma2023 Themenstarter:in
24 Beiträge seit 2023
vor 25 Tagen
SSO User erstellen/konfigurieren

Liebe Community,

ich erstellte eine Web-Anwendung (ASP.NET Core 6.0) die auch betreut wird (IT Consulting). Aufgrund der unterschiedlichen Sichtbarkeit von Daten, je nach Arbeitsbereich, benötige ich WindowsUser-Daten wie z.B. auch beim Einloggen um dies festhalten zu können (funktioniert lokal beim Testen bereits super, nur am Server wird der Standarduser des AppPools verwendet)

            WindowsIdentity windowsIdentity = WindowsIdentity.GetCurrent();

            // Überprüfen, ob die Windows-Identität gültig ist
            if (windowsIdentity != null)
            {
                // Abrufen des Benutzernamens aus der Windows-Identität
                string userName = windowsIdentity.Name;

                // Konstruktion des PrincipalContext-Objekts für die Domäne
                using (PrincipalContext principalContext = new PrincipalContext(ContextType.Domain))
                {
                    // Finden des Benutzerprinzipals im Active Directory
                    UserPrincipal userPrincipal = UserPrincipal.FindByIdentity(principalContext, IdentityType.SamAccountName, userName);

                    //Überprüfen, ob das Benutzerprinzipal - Objekt gefunden wurde
                    if (userPrincipal != null)
                    {
                        // Abrufen der E-Mail-Adresse des Benutzers aus dem Benutzerprinzipal                       
                        string userPrincipalName = userPrincipal.UserPrincipalName;

                        //Verwendung der E - Mail - Adresse des Benutzers
                        Login = "JA";
                    }

Aufgrund von Erfahrungen denke ich an einen Single-Sign-On User der meines Wissens nach (Infos vom ehemaligen Server-Admin) extra am IIS Server der Anwendung im APP-POOL erstellt wird und konfiguriert werden muss (Lässt das Zugreifen auf WindowsUser-Daten zu | Der App-Pool verwendet für die Applikation diesen SSO User | etc.)

Gibt es eine kleine Anleitung hierfür wie das Schritt für Schritt gemacht werden muss, auch ob ich ev. noch NuGet-Packeges installieren muss im VS.

Alle Infos die ich hierfür benötige sind wichtig.

Bitte um eure Hilfe, DANKE.

Freundliche Grüße

16.835 Beiträge seit 2008
vor 25 Tagen

Du erstellst einen eigenen App Pool mit einem eigenen User.

Diesen Pool weißt Du der Website im IIS zu. Das geht alles über die Server Konsole, nicht Visual Studio etc..

In der App konfiguriert man hier gar nichts, auch nicht mit irgendwelchen Paketen.

PS: auch mit Single Sign On hat das nichts am Hut. Das ist einfach nur ein App Pool mit einem User.

Das ist auch alles in den Microsoft Docs gut dokumentiert.

M
Moma2023 Themenstarter:in
24 Beiträge seit 2023
vor 25 Tagen

Das Problem ist, wenn ich die Software am Server hochlade, wird durch - using (PrincipalContext principalContext = new PrincipalContext(ContextType.Domain)) - ein Fehler ausgeworfen. (Es wird bereits ein User eines App-Pools verwendet, aber eben keiner vom AD)

=> Der Grund, warum ich an einen SSO User dachte ist, da ja dadurch der Windows User vom AD geladen wird und ich glaube, dass dies dann funktioniert.

Wie sollte es aus Sicht eines IT-Spezialisten wie dir in der Praxis gemacht werden?

Danke für die schnelle Rückmeldung. (:

16.835 Beiträge seit 2008
vor 25 Tagen

Zitat von Moma2023

=> Der Grund, warum ich an einen SSO User dachte ist, da ja dadurch der Windows User vom AD geladen wird und ich glaube, dass dies dann funktioniert.

Jo, aber das ist kein SSO. SSO ist ein Workflow ⇒ https://de.wikipedia.org/wiki/Single_Sign-on 
Hier hinterlegst Du einfach einen entsprechenden User; in Deinem Fall dann halt ein Domänenuser.

Alle anderen Funktionalitäten, die hier eine Rolle spielen, macht der IIS automatisiert durch Kerberos. SSO ist in Deinem Fall gar nicht hilfreich (weil so SSO gar nicht funktioniert).

Wie sollte es aus Sicht eines IT-Spezialisten wie dir in der Praxis gemacht werden?

So wie ichs Dir beschrieben hab. Bin aber kein IT Spezialist, sondern hab nen Entwickler-Hintergrund.

Entweder macht das die IT manuell / automatisiert, oder jemand mit Zugriff macht das.
Brauchst Username und Password des Users, alles andere sind Eingabefelder vom IIS. Kein Hexenwerk.
IIS - Application Pool Identities

Mit der Anwendung hat das nix zutun. Das ist völlig getrennt.
Die Anwendung bekommt die Identity "von Außen" (vom Hosting) - das wars.

M
Moma2023 Themenstarter:in
24 Beiträge seit 2023
vor 25 Tagen

Ah jetzt verstehe ich, danke für die Detailinfos. =))