2009-04-10 19 views
11

Io uso un abbonamento in asp.net 2008. E ho costruire un sistema di accesso con alcuni rotoli ... eccCome posso ottenere nome utente corrente nel appartenenza asp.net 2008

Ho un database e tavoli e il KEY è "username", e ora voglio sapere come posso ottenere un nome utente per il membro che ha effettuato l'accesso?

per esempio: Ho effettuato il login come TURKI voglio ottenere il nome utente TURKI

davvero ho bisogno di aiuto ...

grazie,

risposta

28
User.Identity.Name 

user è una proprietà della pagina. Se avete bisogno di accedere altrove, è possibile utilizzare:

HttpContext.Current.User.Identity.Name 
+0

Grazie, provo User.Identity.Name ed è OK! davvero grazie! –

+0

@Turki felice di aiutare :) come ha funzionato per te, contrassegnare la risposta come accettata :) – eglasius

+0

Entrambi i suddetti funzionano bene in un ambiente Intranet quando si sfoglia la pagina dal mio PC locale - MA - nessuno sembra funzionare quando viene registrato nel nostro Terminal Server di Windows 2003. –

3

Context.User.Identity.Name

+0

grazie buona risposta –

2

è possibile utilizzare la Membership.GetUser() il metodo descritto qui:

http://msdn.microsoft.com/en-us/library/system.web.security.membership.getuser.aspx

Inoltre, se si ottiene MembershipUser si potrebbe anche ottenere il 'ProviderUserKey' che identifica univocamente un utente, eventualmente utilizzandolo come FK per i propri tavoli, in questo modo l'utente può avere il proprio nome utente aggiornato senza dover cambiare tutte le chiavi nella tua t Ables.

+0

grazie buona risposta –

+0

Sì, ma se il nome utente è l'unica cosa necessaria, è possibile evitare un round trip nel DB utilizzando le altre risposte in questo thread. –

4

Una modifica alla risposta di Freddy quando si usa MVC - dovuto usare:

HttpContext.User.Identity.Name 

Leggero cambiamento, ma pensato che vorrei pubblicarlo nel caso qualcuno altro cercando di fare questo nel MVC colpisce lo stesso intoppo.

Problemi correlati