2011-02-10 9 views
29

Używam uwierzytelniania formularzy.Uzyskaj nazwę użytkownika w uwierzytelnianiu formularzy

W Windows Authentication dla uzyskać nazwę użytkownika komputera używać: User.Identity.Name

muszę te informacje również w uwierzytelniania formularzy ale User.Identity.Name nie działa.

Jak mogę uzyskać User.Identity.Name bez używania uwierzytelniania systemu Windows?

Odpowiedz

51

Aby uzyskać nazwę użytkownika uwierzytelnionego użytkownika:

HttpContext.Current.User.Identity.Name; 
+2

zwraca pusty ciąg znaków. –

+2

Czy na pewno poprawnie skonfigurowałeś uwierzytelnianie formularzy w pliku web.config? Co to oznacza "this.Context.User.Identity.IsAuthenticated" – Matt

+0

@Luca Romagnoli czy możesz opublikować swój plik web.config? a przynajmniej sekcja uwierzytelniania i sekcje autoryzacji, które posiadasz? – Matt

1

to jest dokładnie, jak to zrobić, myślę, że może być coś nie tak z konfiguracją? Na przykład czy jesteś rzeczywiście zalogowany na stronie podczas debugowania? Jeśli nie, musisz, aby uzyskać wartość.

0

Może to zależeć od tego, kiedy w danym cyklu życia zadajesz pytanie.

Jeśli będziesz obsługiwać BeginRequest(), to nie będzie żadnych informacji uwierzytelniających. Natomiast jeśli będziesz obsługiwać EndRequest(), będzie.