记住我 - 获取用户名 - MVC

Remember Me - Fetch UserName - MVC

我正在开发 ASP.NET MVC5 应用程序,我想实现 RememberMe 功能。在这里,当用户选中 RememberMe 时,每当用户再次访问该网站时,用户名应该自动提取到用户名字段。我尝试了以下方法。但它有问题,我无法做到这一点。谁能帮我做这个?

var authTicket = new FormsAuthenticationTicket(
                                           1,
                                           userId,  //user id
                                           DateTime.Now,
                                           DateTime.Now.AddMinutes(50),  // expiry
                                           model.RememberMe,  //true to remember
                                           string.Empty
                                         );

HttpCookie cookie = new HttpCookie(FormsAuthentication.FormsCookieName, FormsAuthentication.Encrypt(authTicket));
if (authTicket.IsPersistent)
{
    cookie.Expires = authTicket.Expiration;
}
System.Web.HttpContext.Current.Response.Cookies.Add(cookie);

提前致谢。

我使用以下代码完成了此操作。 在控制器中: 在登录 POST 操作中:

if(model.RememberMe == true)
                    {
                        Response.Cookies["email"].Value = model.Email;
                        Response.Cookies["email"].Expires = DateTime.Now.AddDays(365);
                    }

在登录初始操作中:

if (Request.Cookies["email"] != null)
                ViewBag.email = Request.Cookies["email"].Value;

在视图中:

@if (ViewBag.email != null)
    {
    @Html.TextBoxFor(m => m.Email, new { @class = "form-control", @Value = ViewBag.email })
    }
    else
    {
     @Html.TextBoxFor(m => m.Email, new { @class = "form-control" })
    }