현재 로그인 한 사용자를 얻고 조작을 위해 올바른 클래스로 캐스팅하려고합니다. 내 색인 방법이 메서드를 호출현재 로그인 한 UserUser가 UserManager GetUserAsync 메서드로 null로 반환되었습니다.
private async void GetCurrentUser()
{
_currentCursist = (Cursist) await _userManager.GetUserAsync(HttpContext.User);
}
:
public IActionResult Index()
{
GetCurrentUser();
if (_currentCursist == null)
{
return View("~/Views/Error/DefaultError.cshtml");
}
return View();
}
_currentCursist의 값은 항상 null이됩니다 내 컨트롤러 클래스에서
나는 다음과 같은 코드가 있습니다. 몇 가지 다른 방법을 시도했지만 항상 null 값이됩니다. 왜 이런 일이 일어나는 걸까요?
httpContext.User
값은 현재 사용자로 채워지고 _userManager
에는 로그인 한 사용자가 포함됩니다. 어떻게 든 GetUserAsync 메서드를 사용할 때 나에게 사용자를 제공하지 않습니다.
메서드를 비동기 적으로 만들지 않으려 고 시도 했습니까? 확실하지는 않지만 무효 메서드는 작동하지 않아도됩니다. –
@FrancescoRoggia 비동기 제거를 시도했지만 오류가 발생하여 비동기 사용을 지시합니다. 그러나 Task 리턴을 사용하여 비동기 메소드를 갖는 것이 더 좋습니다. – Tumladhir