Model view controller 如何在MVC2.0中不使用membeship的情况下在登录页面中设置RememberMe

Model view controller 如何在MVC2.0中不使用membeship的情况下在登录页面中设置RememberMe,model-view-controller,Model View Controller,我正在使用MVC2.0。我想设置一个烹饪登录用户为1年,如果用户点击登录检查。我不希望用户对此进行任何身份验证。我的模型如下: [Required(ErrorMessage = "Please Enter Email Address")] [DisplayName("User Name")] public string UserName { get; set; } [Required(ErrorMessage = "Please Enter P

我正在使用MVC2.0。我想设置一个烹饪登录用户为1年,如果用户点击登录检查。我不希望用户对此进行任何身份验证。我的模型如下:

 [Required(ErrorMessage = "Please Enter Email Address")]
        [DisplayName("User Name")]
        public string UserName { get; set; }

        [Required(ErrorMessage = "Please Enter Password")]
        [DataType(DataType.Password)]
        [DisplayName("Password")]
        public string Password { get; set; }

        [DisplayName("Remember Me")]
        public bool RememberMe { get; set; }

在视图中,我正在使用HTML.CkeckboxFor。

控制器的帖子执行以下操作:

if (model.RememberMe == true)
                    {

                        Response.Cookies["Login"]["UserName"] = model.UserName;
                        Response.Cookies["Login"]["Password"] = model.Password;
                        Response.Cookies["Login"].Expires = DateTime.Now.AddYears(1);
                    }
在获取控制器时,请执行以下操作:

if (model.RememberMe == true)
                    {

                        Response.Cookies["Login"]["UserName"] = model.UserName;
                        Response.Cookies["Login"]["Password"] = model.Password;
                        Response.Cookies["Login"].Expires = DateTime.Now.AddYears(1);
                    }
HttpCookie cookie=Request.Cookies[Login]

if (cookie != null)
            {
                model.UserName = cookie.Values[0];
                model.Password = cookie.Values[1];
}

您不应该像这样在cookie中存储用户名或/和密码!任何人只要能接触到用户的电脑和一点点知识,就可以阅读这篇文章。你应该看看FormsAuthentication。好吧,这是真的,但是如果任何一个不使用FormsAuthentication,那么还有其他wat要做吗?您至少应该加密值。永远不要以明文形式存储密码。即使不使用内置的成员资格提供程序,也可以使用一些FormsAuthentication函数。使用它创建FormsAuthenticationTicket。