Integrierte Windows-Authentifizierung pro App Wenn der Benutzer die Anforderung absagt, kann ich sie auf eine andere Seite umleiten?

StackOverflow https://stackoverflow.com/questions/2541701

Frage

BEARBEITEN ~ Aktualisierte den Titel und den Fragekörper: Dies ist die Bearbeitung.

Ich möchte dieses Verhalten pro App auf IIS6/7. Ich habe es zunächst gefragt, bevor wir zu IIS7 ausgewandert sind, sodass jede Antwort zwischen den beiden geändert werden kann (ich habe seitdem ein wenig über IIS7 gelernt;]), aber ich suche nach einer Antwort, die funktioniert.

Ich muss die pro-App nicht pro Server basierend auf der Benutzerabteilung 401 Auth-Anforderung (dh 401.1 Fehlercode) umleiten. Hoffe das hilft.


Auf IIS6 unter Verwendung der NTLM -Authentifizierung (dh integrierte Windows -Authentifizierung), wenn der Benutzer die Authentifizierungsanforderung absagt, wie kann ich sie zu einer anderen Seite umleiten? Ich kann nicht einfach 401 (versucht) oder 401.1 (kein int) im web.config greifen.

Ich kann nicht umleiten, wenn das Problem ein 401 -Status ist, weil ich absichtlich auf eine 401 drücke, um die Antwort zu erhalten, ja? Wie erfasse ich mich, wenn sie die Browser -Herausforderung abgesagt haben?

Um zu bestätigen, dass ich klar bin: Wenn ich Firefox öffne und zu einer IWA -Seite navigiere, wird mir ein Dialog angezeigt (vorausgesetzt, ich habe das nicht in ungefähr: config konfiguriert) und ich Schlüssel in den Windows -Anmeldeinformationen zu verwenden. Ich möchte verhindern, dass sie diese Schachtel anhalten.

War es hilfreich?

Lösung

Ich weiß, dass dies alt ist, aber einige Antworttypen werden zur Verarbeitung nicht an .NET übergeben. Stattdessen müssen sie auf IIS -Ebene behandelt werden. Wenn Sie eine andere Seite basierend auf der Antwort wünschen, müssen Sie zum IIS -Manager gehen und den Abschnitt finden, der Fehlerseiten steuert (es ist unterschiedlich, abhängig von der von Ihnen verwendeten IIS -Version.

Fügen Sie dann den Statuscode hinzu, den Sie erfassen möchten, und geben Sie ihm die Seite, auf die der Browser gerichtet werden soll.

Ich weiß, dass Sie IIS 6 erwähnt haben, aber ich habe keinen Zugang zu einem dieser Server. Klicken Sie für IIS 7 auf die Website. Gehen Sie zum Abschnitt IIS> Fehlerseiten. Klicken Sie auf Hinzufügen. Geben Sie den Code (401.1) ein und geben Sie ihm einen Pfad zu einer Seite auf Ihrer Website. Stellen Sie sicher, dass diese Seite für Anonymous zugänglich ist.

AKTUALISIEREN:
Ich habe einige neue Informationen gefunden. Sie können dies in Ihrem Web.config verarbeiten. Weitere Informationen finden Sie in der folgenden Site: lerne.iis.net

Im Abschnitt "Fehler Ihres Web.config" folgen (als Beispiel):

 <error statusCode="401" subStatusCode="1" prefixLanguageFilePath="c:\inetpub\custerr" path="401_1.htm" />

Ich weiß nicht, ob Sie dafür .aspx -Seiten verwenden können, aber es sieht sicher so aus. Sie müssen jedoch wahrscheinlich völlig selbst eingedämmt sein.

Microsoft -Dokumentation auf der Substatuscode ist auf msdn. Den Ansicht funktioniert es nur auf IIS 7, .NET 3.0+ und bei Verwendung des integrierten Pipeline -Modus. Dies kann je nach App etwas restriktiv sein.

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