OWIN Web API Windows-Dienst - Windows Identity Impersonation

Dies ist eine Intranet-App.

Ich habe eine WebAPI-Owin-Selfhosting-App, die auf einem Windows-Server unter einem Dienstkonto ausgeführt wird.

Das Front-End ist AngularJS, das über diese Web-API mit der Datenbank kommuniziert.

Was ich möchte, ist, dass beim Aufrufen einer Aktion auf der API, die eine Datenbankinteraktion erfordert, die Benutzeranmeldeinformationen zum Herstellen einer Verbindung mit der Datenbank verwendet werden und nicht das Dienstkonto selbst.

Ich verwende die Windows-Authentifizierung und habe die NTLM-Authentifizierung für den httpListener in der Startup-Klasse aktiviert und kann den Benutzer authentifizieren.

Wenn ich eine Anforderung an die Web-API übermittle, kann ich feststellen, dass Thread.CurrentPrincipal den aktuellen Benutzer zurückgibt, die Datenbankverbindung jedoch fehlschlägt, da versucht wird, eine Verbindung mit der Datenbank über das Dienstkonto und nicht über die Benutzeranmeldeinformationen herzustellen.

Bitte sagen Sie mir, wie die Benutzeranmeldeinformationen von der Web-API an die Datenbank übergeben werden sollen

Antworten auf die Frage(2)

Ihre Antwort auf die Frage