2010-08-26 7 views
13

Qualcuno ha esperienza nel supportare più realm in Autenticazione HTTP?Autenticazione HTTP - Intestazione WWW-Authenticate - regni multipli

Il sito afferma Microsoft:

Ogni autenticare intestazione di risposta contiene uno schema di autenticazione disponibili e un regno. Se sono supportati più schemi di autenticazione , il server restituisce più intestazioni di risposta autenticate. Il valore di ambito distingue tra maiuscole e minuscole e definisce uno spazio di protezione sul proxy o sul server . Ad esempio, l'intestazione "WWW-Authenticate: Basic Realm =" example "" sarebbe un esempio di un'intestazione restituita quando è richiesta l'autenticazione del server .

Ciò suggerisce che diverse aree di un sito Web possono essere protette utilizzando diversi metodi di autenticazione. Ciò di cui siamo confusi è come determinare quale dominio dovrebbe essere indicato nella risposta del server a una richiesta del client.

Qualcuno ha qualche esempio di come funzionano più regni?

risposta

9

Il HTTP specification consente più WWW-Authenticate sfide di essere presenti in una risposta, sia all'interno della stessa WWW-Authenticate intestazione o utilizzando più WWW-Authenticate intestazioni all'interno della stessa risposta.

Ci sono problemi associati a questo, come descritto in RFC 2617, section 4.6. In teoria, il cliente deve scegliere il meccanismo di autenticazione più forte disponibile, tuttavia, definire quale sia il più forte non è sempre ovvio.

Non ho mai provato con più regni (e lo stesso schema, ad esempio Basic), ma non sono a conoscenza di nulla che lo escluda. Il problema principale con i reami multipli e lo stesso schema è che il browser rischia di essere confuso in termini di interfaccia utente, in particolare in quale ambito sfida l'utente.

+0

Per quanto riguarda più sfide WWW-Authenticate, esiste un consenso sull'utilizzo di più intestazioni WWW-Authenticate o per avere più problemi all'interno della stessa intestazione WWW-Authenticate? –

+1

Secondo le specifiche, si suppone che sia equivalente, quindi gli user-agent conformi dovrebbero supportare entrambi. Se lo fanno in pratica, non ne sono sicuro. – Bruno

+3

Per completezza: un collegamento ad alcuni test in diversi browser: http://greenbytes.de/tech/tc/httpauth/ – SimonSimCity

4

Ho un buon esempio utilizzando più intestazioni di autenticazione quando si utilizza un sito di condivisione. Il punto di condivisione offre sia Negoziato che NTLM al primo collegamento.

Firefox sceglie NTLM ma Chrome sceglie Negozia.

È inoltre una conseguenza che Chrome invierà sempre l'intestazione Autorizzazione insieme alle altre richieste, ma solo all'inizio Firefox a causa del protocollo di risposta alle sfide NTLM. Vedi qui altre spiegazioni http://www.innovation.ch/personal/ronald/ntlm.html

Problemi correlati