Frage

Bitte beachten Sie: In jedem Schritt, den ich unten beschreiben ich in als das gleichen Domäne-Benutzerkonto angemeldet bin

.

Ich habe eine Web-Anwendung, die einen Dienst auf einem entfernten Rechner steuert (über Servicecontroller ). Wenn ich auf der Website der Ferne und versuchen, eine Verbindung, den Dienst zu steuern, erhalte ich eine InvalidOperationException: Zugriff verweigert

.

Ich weiß es CAN Arbeit, denn wenn ich auf die Webseite von dem Webserver verbinden (Remote-Desktop in, loggen Sie sich als meine Domain Benutzer, dann die Webseite öffnen), es funktioniert wie erwartet.

Ich habe IIS und ASP.NET konfiguriert Windows-Authentifizierung und Identitätswechsel erforderlich ist. Ich lüge das Prinzipals aktuellen Thread, wenn dies nicht gelingt, und ich sehe, dass der Faden unter meiner Identität ausgeführt wird, ob ich Remote-Verbindung oder vom Server selbst.

Ich habe versucht, IIS zwingt die Kerberos-Authentifizierung, NTLM-Authentifizierung und beide gleichzeitig zu verwenden; ob mein Haupt seine AuthenticationType als „Verhandeln“ oder „NTLM“, berichtet spielt es keine Rolle. Keiner von ihnen arbeiten, wenn ich eine Remote-Verbindung (von meinem lokalen Rechner)

eine andere seltsame daran ist, dass, wenn ich Debuggen aus meinem lokalen Rechner / an den Remote-Server zu verbinden, es funktioniert jedes Mal! Aber ich bin nicht debuggen, es jedes Mal nicht!

Was zum Teufel könnte hier los werden?

War es hilfreich?

Lösung

Ihr Szenario ist Delegation und nicht die Identitätswechsel. Delegation ist schwer zu erreichen, und es hängt von vielen, was richtig gemacht werden.

Ein Ort zu starten wäre Kerberos-Authentifizierung und Delegierung Fehlerbehebung bei Problemen

David Wang Blog ist eine sehr nützliche Ressource auf TEUR Fragen.

Andere Tipps

„eine andere seltsame daran ist, dass, wenn ich das Debuggen von meinem lokalen Rechner / Verbinden mit dem Remote-Server, es funktioniert jedes Mal! Aber ich bin Debuggen nicht, schlägt es jedes Mal!“

Das ist ein klarer Hinweis darauf, dass Sie die Erlaubnis Probleme haben. Wenn Sie in dem Debugger ausführen Sie laufen wie die angemeldeten Benutzer, wenn Sie nicht das Debuggen als alles, was läuft IIS gesetzt zu verwenden (NETWORK SERVICE Standard). Versuchen Sie, (vorübergehend!) Das Aktivieren der anonymen Zugriffs Ihres Domänenkonto als Benutzer und sehen, ob das funktioniert. Ist dies der Fall, dann bedeutet es, Ihre IIS nicht korrekt eingerichtet zum Imitieren ist (und es ist wahrscheinlich als NETWORK SERVICE ausgeführt wird).

Berechtigungen in IIS können ein bisschen c h zur Feinabstimmung richtig sein ... Viel Glück!

P / S: Das sieht eher wie eine Netzwerkadministration Frage als eine Programmierung ein (siehe https://stackoverflow.com/questions/321618/stackoverflow-is-for-programming-questions-here-are-some-better-forums-for-your # 321756 )

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top