title: Get role/s of current logged in user in ASP.NET Core MVC
body: <p>How can I get the logged in user's role/s in ASP.NET Core MVC? I want to get role details as soon as user logs in into the application, but by using following code I am not able to retrieve the role details</p>
  
  <pre><code>public async Task&lt;IActionResult&gt; Login(LoginViewModel model, string returnUrl = null)
  {
      ViewData["ReturnUrl"] = returnUrl;
      if (ModelState.IsValid)
      {
  
          var result = await _signInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, lockoutOnFailure: false);
  
          if (result.Succeeded)
          {
              _logger.LogInformation(1, "User logged in.");
  
             bool available = User.IsInRole("Admin"); 
              return RedirectToLocal(returnUrl);
          }
          if (result.RequiresTwoFactor)
          {
              return RedirectToAction(nameof(SendCode), new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
          }
          if (result.IsLockedOut)
          {
              _logger.LogWarning(2, "User account locked out.");
              return View("Lockout");
          }
          else
          {
              ModelState.AddModelError(string.Empty, "Invalid login attempt.");
              return View(model);
          }
      }
  
      // If we got this far, something failed, redisplay form
      return View(model);
  }
  </code></pre>
  
  <p>Also, I have used the below methods like</p>
  
  <pre><code>var user = new ApplicationUser { UserName = model.Email, Email = model.Email };
  
  var userRoles = await _userManager.GetRolesAsync(user);
  </code></pre>
  
  <p>Still, I am not able to get the role details. Can anyone please help on this?</p>