2015-04-07 4 views
10

Utilizzando Visual Studio 2013 Application Express MVC con riferimenti a MVC 5.2 Asp.Net.Identity.Core 2.0Non riesci a trovare User.Identity.GetUserId() Metodo

all'interno di qualsiasi controller o da qualsiasi altro luogo nella mia applicazione il metodo GetUserId() non sembra esistere e non posso per la vita del mio capire come potrebbe essere. Avevo l'impressione che fosse un metodo incluso in Asp.Net Identity 2x. Cosa potrei mancare qui?

+5

Hai aggiunto lo spazio dei nomi 'Microsoft.AspNet.Identity'? –

+0

C'è ... wow .. Dal momento che ho potuto accedere a User.Identity.Name e IsAuthenticated senza aggiungere quel namespace .. Ho pensato che fosse solo disponibile ... Grazie! –

+2

Sì, è un po 'complicato perché User.Identity è disponibile. Se goto (f12) su 'GetUserId()' vedrai che si trova in un gruppo per IdentityExtensions. Che è pulito perché è un piccolo modello per creare le proprie estensioni usando [System.Security.Principal] (https://msdn.microsoft.com/en-us/library/system.security.principal (v = vs.110) aspx) –

risposta

19

È un metodo di estensione. Fai riferimento allo spazio dei nomi nella parte superiore della classe.

using Microsoft.AspNet.Identity; 
2

Dal 2015 RC1 il metodo di estensione GetUserID è nello spazio dei nomi System.Security.Claims.