title: Add claims on successful login and retrieve it elsewhere in the application
body: <p>Please I need assistance in implementing a custom way of assigning claims to authenticated users.
  On successful login, </p>
  
  <pre><code>var result = await SignInManager.PasswordSignInAsync(model.Email, model.Password, model.RememberMe, shouldLockout: false);
          switch (result)
          {
              case SignInStatus.Success:
                  //Get the user
                  ApplicationUser user = UserManager.FindByEmail(model.Email);
                  //Ends here
                  ClaimsIdentity identity = await UserManager.CreateIdentityAsync(user, DefaultAuthenticationTypes.ApplicationCookie);
                  AuthenticationManager.SignIn(new AuthenticationProperties() { IsPersistent = true }, identity);
  </code></pre>
  
  <p>I use the userId to fetch the role and other information about the user from the datastore. Thereafter, I need to add claims about the user with those information such as email, role, firstName, Lastname, gender, etc. before redirecting to the user dashboard.
  This is the way I try to do it but the problem is that even after adding the claims at the login method, I am not able to retrieve it at the _loginPartial razor view</p>
  
  <p>For instance when I want to display the email claim value at the login partial like this</p>
  
  <pre><code>var claims = ClaimsPrincipal.Current.Claims;
      var principal = (ClaimsPrincipal)Thread.CurrentPrincipal;
      var email = principal.Claims.Where(c =&gt; c.Type == ClaimTypes.Email).Select(c =&gt; c.Value).SingleOrDefault();
  </code></pre>
  
  <p>It returns null.</p>
  
  <p>So, as a result, I can only access them on the same login method after adding them but I need to be able to access it from anywhere in the application. 
  Please I will appreciate any assistance on how to be able to retrieve these claims anywhere else throughout the application.</p>
  
  <p>Thank you.</p>