Wie kann ich feststellen, welche ein ASP.NET Web-Service-Konto zugreifen versucht?
-
18-09-2019 - |
Frage
Ich erhalte eine 401 (Zugriff verweigert) eine Methode auf einem internen Web-Service-Aufruf. Ich nenne es von einer ASP.NET-Seite auf unserem Firmen-Intranet. Ich habe alle die Konfiguration überprüft und es sollte mit einem Konto integrierte Sicherheit verwenden, den Zugriff auf diesen Dienst hat, aber ich versuche, herauszufinden, wie auf bestätigen, welches Konto es unter ist zu verbinden. Leider I kann nicht den Code debuggen im Produktionsnetzwerk . In unserer Entwicklungsumgebung funktioniert alles einwandfrei. Ich weiß, es hat ein Unterschied in den Einstellungen sein, aber ich bin ratlos mit, wo zu beginnen. Alle Empfehlungen?
Lösung
Haben Sie in den IIS-Protokolle geschaut?
Andere Tipps
Ich würde auch empfehlen, im Sicherheitsereignisprotokoll auf dem Server für Authentifizierungsfehler suchen. Sie sollten hier einen Fußabdruck des ausgefallenen Autorisierungsversuch finden. Seien Sie gewarnt -. Es ist nicht ungewöhnlich, 10s von Sicherheitsereignissen eine zweite zu bekommen, so ideal Sie müssen in der Lage das Ereignisprotokoll zugreifen, da die Anfragen scheitern
Wenn Sie nicht über die Anmeldeinformationen angeben, in der ASP.NET-Seite verwenden, wenn Sie die Web-Service-instanziiert dann glaube ich es standardmäßig auf NT_AUTHORITY \ Anonymous .
Wenn Sie mit System.Net.CredentialCache dann Ihrem Web-Service muss in einer vertrauenswürdigen Domäne sein, Zugriff über HTTPS und entweder mit NTLM, Kerberos oder Digest Auth sonst ist es nicht die Anmeldeinformationen aus dem Cache nicht besteht.
http://msdn.microsoft.com /en-us/library/system.net.credentialcache.defaultcredentials.aspx http://msdn.microsoft.com/en- us / library / system.net.credentialcache.defaultnetworkcredentials.aspx http://msdn.microsoft.com/en- us / library / system.net.credentialcache.defaultcredentials.aspx
Vielleicht ist der Produktionsserver verwendet einen anderen Benutzer für seinen Anwendungspool als Ihre Entwicklungsumgebung? Ich habe einmal am Tag, dass man herauszufinden. Eine andere Möglichkeit wäre die (fehlende) Identitätswechsel in der web.config