Wie implementieren Sie erinnern mich im Login-Seite in MVC 4 razor?

Ich bin erstellen Login Seite in MVC. Ich bin versucht zu implementieren Remember me " option im Login-Seite. Füge ich den code für das erinnern, aber es funktioniert nicht richtig.

Ich habe den code Hinzugefügt, mit der Antwort.cookies im login-controller, Aber es funktioniert nicht.

Wo ich den implementieren muss, die Anfrage.cookies in diesem code

Login-Modell

public class Login
    {

        public string EmailID { get; set; }
        public string Password { get; set; }
        public bool RememberMe { get; set; }
}

Login-controller

 public ActionResult Login()
        {

            return View();
        }



 [HttpPost, ValidateInput(false)]
        public ActionResult Login(Login loginDetails)
        {
            if (ModelState.IsValid)
            {
                using (SYTEntities context = new SYTEntities())
                {

                    var LoginUser = context.tblUsers.Where(a => a.EmailID == loginDetails.EmailID && a.Password == loginDetails.Password).FirstOrDefault();
                    if (LoginUser != null)
                    {  
                        FormsAuthentication.SetAuthCookie(loginDetails.EmailID, loginDetails.RememberMe);
                        Session["EmailID"] = LoginUser.EmailID;
                        Session["UserID"] = LoginUser.UserID;
 if (loginDetails.RememberMe)
                        {
                            HttpCookie email = new HttpCookie("EmailID");
                            email.Expires = DateTime.Now.AddSeconds(3600);
                            email.Value = LoginUser.EmailID;
                            Response.Cookies.Add(email);

                        }
                        return RedirectToAction("Index", "Home");
                    }

                    else
                    {
                        ModelState.AddModelError("", "Login data is incorrect!");
                    }



                }
            }
            return View(loginDetails);
        }

Login.cshtml

 @using (Html.BeginForm())
    {
        @Html.ValidationSummary(true, "Login failed. Check your login details.");
        <div style=" margin-bottom: 400px;">
            <fieldset>
                <legend>Login</legend>

                <div class="editor-label">
                    @Html.LabelFor(u => u.EmailID)
                </div>
                <div class="editor-field">
                    @Html.TextBoxFor(u => u.EmailID)
                    @Html.ValidationMessageFor(u => u.EmailID)
                </div>
                <div class="editor-label">
                    @Html.LabelFor(u => u.Password)
                </div>
                <div class="editor-field">
                    @Html.PasswordFor(u => u.Password)
                    @Html.ValidationMessageFor(u => u.Password)
                </div>
                <div class="editor-label">
                        @Html.CheckBoxFor(u => u.RememberMe)
                        @Html.LabelFor(u => u.RememberMe)
                    </div>
                <input type="submit" value="Log In" />
                @Html.ActionLink("Forgot Password ?", "LostPassword", "CU", null)
            </fieldset>
        </div>
    }

Kann einer mir sagen wie das geht?

  • Mögliche Duplikate von Umsetzung von "Remember Me" - Funktion ASP.NET MVC
  • Es scheint, dass Sie die Speicherung der Anmeldeinformationen innerhalb der cookie ohne eine Verschlüsselung. In kürzester Zeit kann jemand Bearbeiten, dass cookie und log dich mit einem anderen Benutzer, auch mit einer Verschlüsselung. Es scheint nicht den besten Umgang damit zu finden.
InformationsquelleAutor Nisha | 2015-11-23
Schreibe einen Kommentar