In your scenario, you can use Global.asax's Session_Start event to fill the User's information.
public class Global : System.Web.HttpApplication
{
protected void Session_Start(object sender, EventArgs e)
{
if (HttpContext.Current.User != null &&
HttpContext.Current.User.Identity.IsAuthenticated &&
HttpContext.Current.Session["MyUserInfo"] == null)
{
// Get the user's information from database and save it to Session.
HttpContext.Current.Session["MyUserInfo"] = "johndoe";
}
}
}