Sono relativamente nuovo ad ASP.Net MVC e cerco di utilizzare ora la funzionalità di accesso utente integrata. Sono in grado di registrare un utente nella vista di registrazione. Se provo ad accedere con l'utente creato, funziona anche questo. Sono reindirizzato alla pagina principale.Ottieni ID utente dell'utente che ha effettuato l'accesso in Asp.Net MVC 5
Ma non riesco a ottenere l'ID utente dell'utente corrente. Ho provato il mio codice nel HomeController e nel AccountController, ma entrambi non hanno funzionato. L'istruzione nella prima riga restituisce sempre null.
var userID = User.Identity.GetUserId();
if (!string.IsNullOrEmpty(userID))
{
var manager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(ApplicationDbContext.Create()));
var currentUser = manager.FindById(User.Identity.GetUserId());
}
Devo fare qualcos'altro prima di ottenere l'ID utente?
Scusa, non è chiaro nella mia domanda, lo cambierò. L'affermazione sopra restituisce null. –
Se 'User.Identity.GetUserId()' restituisce null, significa che l'utente * non * ha effettuato l'accesso. Assicurati che qualsiasi azione in cui stai chiamando sia decorata con '[Authorize]', per far sì che sia loggato solo gli utenti possono arrivarci. Chiunque non abbia effettuato l'accesso verrà inviato automaticamente alla tua pagina di accesso. –
Grazie per la risposta. Il suggerimento che devo reindirizzare a un'altra pagina prima che questo funzioni ha aiutato. –