2012-05-30 14 views
6

richiedo un URL, https://user:[email protected]/etcetcRequest.Url.UserInfo Nessun valore

In Controller, io uso Request.Url.UserInfo ottenere nulla, stringa vuota, perché? Oppure, come posso ottenere user:pass al controller

+1

non ho mai saputo che per lavorare con il protocollo HTTP [S] ... ho visto con FTP, ma non HTTP. – Mark

+0

hai provato a usare 'fiddler' per vedere cosa è stato veramente inviato? –

+0

Lo hai provato sul server di produzione? Forse questo campo viene ignorato quando non è richiesta alcuna autorizzazione dal server? – Smileek

risposta

3

Qui ci sono un paio di cose da controllare.

1) Che aspetto ha l'url raw?
2) Verificare che la proprietà UserInfo funzioni (che Microsoft dice di sì, e anche i miei test mostrano che funziona).

Response.Write("Raw: " + Request.RawUrl); 
    Response.Write("<br />"); 

    Uri uriAddress = new Uri("http://user:[email protected]/index.htm "); 
    Response.Write("Test URL Results: "+uriAddress.UserInfo); 

Sulla base delle mie proprie prove direi che l'utente: parte la password viene spogliato fuori prima che arrivi alla tua pagina. In IE, come altri hanno affermato, non ero in grado di farlo prendere i valori. In Chrome sembrava anche che li togliessero automaticamente (dopo aver digitato l'indirizzo e premuto invio i valori spariti dalla barra degli indirizzi immediatamente).

3

This potrebbe essere il vostro problema. IE non supporta questo per impostazione predefinita.

+0

Sto usando Chrome, e dalla console, mostra utente: la parte del passaggio è stata inviata a IIS –

Problemi correlati