Ich verwende Windows-Authentifizierung für Active Directory auf meiner ASP.NET MVC-Website. Ich versuche jetzt, die Website zum Testen bereitzustellen, aber das Problem ist, dass ich die folgende Ausnahme bei der Anmeldung erhalten:Anmeldung fehlgeschlagen für Benutzer IIS APPPOOL WebExploit
Kann Datenbank "PrincipalServerDB" nicht durch die Anmeldung angefordert. Die Anmeldung ist fehlgeschlagen. Anmeldung fehlgeschlagen für Benutzer 'IIS APPPOOL \ WebExploit'.
Ich habe dieses Tutorial folgen Test zu implementieren: https://docs.microsoft.com/en-us/aspnet/web-forms/overview/deployment/visual-studio-web-deployment/deploying-to-iis
Und ich Authentifizierung wie hier beschrieben: http://tech.trailmax.info/2016/03/using-owin-and-active-directory-to-authenticate-users-in-asp-net-mvc-5-application/ die OWIN Authentifizierung verwendet.
Ich bin mir bewusst, dass meine Frage Verständnis fehlt, aber es ist, weil ich nicht verstehe, was vor sich geht. Ich habe versucht, die Schritte folgenden wie in diesem Beitrag https://stackoverflow.com/a/7698316/4714502 beschrieben, aber ich hatte schon ein Grant.sql
Skript getan Zugang zu gewähren, wie folgt:
IF NOT EXISTS (SELECT name FROM sys.server_principals WHERE name = 'IIS APPPOOL\DefaultAppPool')
BEGIN
CREATE LOGIN [IIS APPPOOL\DefaultAppPool]
FROM WINDOWS WITH DEFAULT_DATABASE=[master],
DEFAULT_LANGUAGE=[us_english]
END
GO
CREATE USER [WebExploitUser]
FOR LOGIN [IIS APPPOOL\DefaultAppPool]
GO
EXEC sp_addrolemember 'db_owner', 'WebExploitUser'
GO
Im ersten Tutorial sie sagen:
Wenn die Anwendung ausgeführt wird In IIS auf Ihrem Entwicklungscomputer greift die Anwendung mithilfe der Anmeldeinformationen des Standardanwendungspools auf die Datenbank zu. Die Anwendungspoolidentität ist jedoch standardmäßig nicht berechtigt, die Datenbanken zu öffnen. Sie müssen also ein Skript ausführen, um diese Berechtigung zu erteilen. In diesem Abschnitt erstellen Sie das Skript, das Sie später ausführen werden, um sicherzustellen, dass die Anwendung die Datenbanken bei der Ausführung in IIS öffnen kann.
Das bedeutet, es ist die Anwendung, die die Rechte hat? Nicht der tatsächliche Benutzer? Ich weiß nicht, wie ich das lösen soll ...
Wenn ich in SSMS nachschaue, zeigen die Autorisierungen in meinen PrincipalServerDB-Eigenschaften WebExploitUser
wie definiert.
Hier ist mein Anwendungspool in IIS:
'Démarré' bedeutet begann in Französisch.
Können Sie in IIS überprüfen, welche Benutzer verwendet wird, um die Application Pool laufen? Es sieht so aus, als wäre es das 'IIS APPPOOL \ WebExploit'. Wenn ja, liegt das Problem daran, dass Sie dem Konto 'IIS APPPOOL \ DefaultAppPool' Zugriff auf die Datenbank erteilt haben. Wenn nicht, ist etwas anderes nicht korrekt konfiguriert. –
@Jan_V Ich habe beide in meinem App-Pool. Ich habe tatsächlich versucht, das Grant-Skript mit 'IIS APPPOOL \ DefaultAppPool' und' IIS APPPOOL \ WebExploit' auszuführen. Ich füge einen Screenshot meines App-Pools in IIS hinzu. –