Model view controller 如何在MVC2.0中不使用membeship的情况下在登录页面中设置RememberMe
我正在使用MVC2.0。我想设置一个烹饪登录用户为1年,如果用户点击登录检查。我不希望用户对此进行任何身份验证。我的模型如下: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
[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。