2012-05-30 5 views
6

zażądać URL jako https://user:[email protected]/etcetcRequest.Url.UserInfo Nie Wartość

kontroler używam Request.Url.UserInfo dostać nic, pusty łańcuch, to dlaczego? Lub, jak mogę uzyskać user:pass na kontrolerze

+1

Nigdy nie wiedziałem, że działa z protokołem HTTP [S] ... widziałem to z FTP, ale nie HTTP. – Mark

+0

Czy próbowałeś użyć 'skrzypka', żeby zobaczyć, co naprawdę zostało wysłane? –

+0

Czy próbowałeś tego na serwerze produkcyjnym? Może to pole jest ignorowane, gdy serwer nie wymaga autoryzacji? – Smileek

Odpowiedz

3

Oto kilka rzeczy do sprawdzenia.

1) Jak wygląda surowy adres URL?
2) Sprawdź, czy działa właściwość UserInfo (co Microsoft mówi, a robi to również moje testy).

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); 

Na podstawie własnych testów zgaduję, że część użytkownika: hasło jest usuwana przed dotarciem do strony. W IE, jak stwierdzili inni, nie byłem w stanie zmusić go do przyjęcia wartości. W Chrome zdawało się również, że znikają automatycznie (po wpisaniu adresu i naciśnięciu klawisza Enter wartości zniknęły natychmiast z paska adresu).

3

This może być twój problem. IE nie obsługuje tego domyślnie.

+0

Używam Chrome, a na konsoli wyświetla się użytkownik: część przekazana została wysłana do IIS –