After login I keep some user info in Session[""] vars.
 public async Task<ActionResult> Login(LoginViewModel model, string returnUrl)
        {
            if (!ModelState.IsValid)
            {
                return View(model);
            }
            try
            {
                var result = await SignInManager.PasswordSignInAsync(model.UserName, model.Password, model.RememberMe, shouldLockout: false);
                switch (result)
                {
                    case SignInStatus.Success:
                        var user = User.Identity;
                        try
                        {
                            ApplicationDbContext context = new ApplicationDbContext();
                            var UserManager = new UserManager<ApplicationUser>(new UserStore<ApplicationUser>(context));
                            string userId = UserManager.FindByName(model.UserName)?.Id;
                            var s = UserManager.GetRoles(userId);
                            var u = db.UsersViews.First(x => x.Id == userId);
                            Session["UserFullName"] = u.LastName + " " + u.FirstName.Substring(0, 1) + ". " + u.MiddleName.Substring(0, 1) + ".";
                            Session["UserRole"] =  u.RoleName;
                            return RedirectToAction("Index", "Home");
                        }
                        catch (Exception ex)
                        {
                            return View("Lockout");
                        }
                    case SignInStatus.LockedOut:
                        return View("Lockout");
                    case SignInStatus.RequiresVerification:
                        return RedirectToAction("SendCode", new { ReturnUrl = returnUrl, RememberMe = model.RememberMe });
                    case SignInStatus.Failure:
                    default:
                        ModelState.AddModelError("", "Invalid login attempt.");
                        return View(model);
                }
            }
            catch (Exception ex)
            {
                throw;
            }
        }
Later I use it like
@using Microsoft.AspNet.Identity
@if (Request.IsAuthenticated)
{
    using (Html.BeginForm("LogOff", "Account", FormMethod.Post, new { id = "logoutForm", @class = "navbar-right" }))
    {
        @Html.AntiForgeryToken()
        <div class="form-inline my-2 my-lg-0 " style="margin-left:2em; margin-right:0em;">
            <label class="form-control-sm mr-sm-2">@Session["UserFullName"] (@Session["UserRole"]) </label>
            <a href="javascript:document.getElementById('logoutForm').submit()" class="btn btn-outline-primary btn-sm my-2 my-sm-0">Выход</a>
        </div>
    }
}
else
{
    <form class="navbar-right">
        <ul class="navbar-nav mr-auto">
            <li class="nav-item">
                <a id="loginLink" href="@Url.Content("~/Account/Login")" class="nav-link"><span class="glyphicon glyphicon-log-in"></span> Вход</a>
            </li>
        </ul>
    </form>
}
But once session gone there is no value to display.
So my question is how to keep updated session vars without increaseing session timeout?
Thank you!
