Autenticazione Windows integrata per-app Se l'utente annulla la richiesta posso reindirizzarli a un'altra pagina?

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

Domanda

MODIFICARE ~ Aggiornato il titolo e il corpo delle domande: questa è la modifica.

Voglio questo comportamento per app su IIS6/7. L'ho chiesto inizialmente prima di migrare su IIS7, quindi qualsiasi risposta può essere modificata tra i due (da allora ho imparato un po 'su IIS7;]) ma sto cercando una risposta che funzioni.

Devo reindirizzare per-app non per server in base all'utente che annulla la richiesta di auto 401 (che significa 401.1 Codice di errore). Spero che sia di aiuto.


Su IIS6, utilizzando l'autenticazione NTLM (che significa autenticazione di Windows integrata) Se l'utente annulla la richiesta di autenticazione, come posso reindirizzarli a un'altra pagina? Non posso semplicemente prendere 401 (provato) o 401.1 (non un int) nel web.config.

Non riesco a reindirizzare se il problema è uno stato 401 perché sto spingendo intenzionalmente per un 401 per ottenere la risposta, sì? Quindi, come posso catturare quando hanno cancellato la sfida del browser?

Per confermare che sono chiaro: se apro Firefox e vado a una pagina IWA, mi mostra una finestra di dialogo (supponendo che non lo abbia configurato in About: config) e ho chiave le credenziali di Windows da utilizzare. Voglio impedire loro di fermare quella scatola.

È stato utile?

Soluzione

So che questo è vecchio, ma alcuni tipi di risposta non sono passati a .NET per l'elaborazione. Invece, devono essere gestiti a livello IIS. Se vuoi una pagina diversa in base alla risposta, devi andare a IIS Manager e trovare la sezione che controlla le pagine di errore (è diversa a seconda della versione IIS che stai utilizzando.

Quindi aggiungi il codice di stato che si desidera acquisire e dargli la pagina a cui desideri che il browser sia indirizzato.

So che hai menzionato IIS 6, ma non ho accesso a uno di quei server. Per IIS 7, fai clic sul sito. Vai alla sezione pagine di errore IIS>. Fare clic su Aggiungi. Digita il codice (401.1) e dai un percorso a una pagina sul tuo sito. Assicurati che la pagina sia accessibile per Anonimo.

AGGIORNARE:
Ho trovato alcune nuove informazioni. Puoi gestirlo nel tuo web.config. Vedere il seguente sito per maggiori dettagli: Learn.iis.net

Nella sezione Errori di Web.config fai quanto segue (ad esempio):

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

Non so se puoi usare le pagine .aspx per questo, ma sicuramente sembra. Tuttavia, probabilmente dovranno essere completamente autonomi.

Documentazione di Microsoft su ScadatuSusde è su msdn. Secondo loro funziona solo su IIS 7, .NET 3.0+ e quando si utilizza la modalità pipeline integrata. Questo potrebbe essere un po 'restrittivo a seconda della tua app.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top