Jestem stosunkowo nowy w ASP.Net MVC i próbuję teraz użyć wbudowanej funkcji logowania użytkownika. Mogę zarejestrować użytkownika w widoku rejestracji. Jeśli spróbuję zalogować się z utworzonym użytkownikiem, to również działa. Jestem przekierowywany na stronę wzorcową.Uzyskaj identyfikator użytkownika zalogowanego użytkownika w Asp.Net MVC 5
Nie mogę jednak uzyskać identyfikatora użytkownika bieżącego użytkownika. Próbowałem mojego kodu w HomeController i AccountController, ale oba nie działa. Instrukcja w pierwszym wierszu zwraca zawsze wartość 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());
}
Czy muszę uzyskać coś innego przed uzyskaniem identyfikatora użytkownika?
Niestety, nie było jasne w moim pytaniu, zmienię to. Powyższe polecenie zwraca wartość null. –
Jeśli 'User.Identity.GetUserId()' zwróci wartość null, oznacza to, że użytkownik nie jest * zalogowany *. Upewnij się, że jakiekolwiek działanie, do którego to wywołujesz zostało ozdobione '[Autoryzuj]', aby wymusić tylko zalogowane. użytkownicy mogą się do niego dostać. Każdy, kto nie jest zalogowany, zostanie automatycznie wysłany na twoją stronę logowania. –
Dziękuję za odpowiedź. Wskazówka, że muszę przekierować do innej strony, zanim to działa, pomogła. –