Cookie记住账号
给大家分享的功能是Cookie记住账号
效果是记住账号后每次都可以直接登录不用再次输入账号密码(在不清除网页缓存的情况下)
效果图:
MVC代码:
//登陆页面
public ActionResult Login()
{
string Account = "";
string Password = "";
bool isRember = false;
HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["operator"]
if (cookie != null)
{
if (cookie["Account"] != null)
{
Account=System.Web.HttpContext.Current.Server.UrlDecode(cookie["Account"]);
}
if (cookie["Password"] != null)
{
Password=System.Web.HttpContext.Current.Server.UrlDecode(cookie["Password"]);
}
isRember = true;
}
ViewBag.Account = Account;
ViewBag.Password = Password;
ViewBag.isRember = isRember;
return View();
}
//验证登录
public ActionResult CheckLogin(D_Operator _Operator)
{
ReturnJson msg = new ReturnJson();
string Account = Request.Form["Account"];
string Password = Request.Form["Password"];
string StrRember = Request.Form["RememberMe"];
try
{
D_Operator Operator = (from tb in myModels.D_Operator
where tb.OperatorNumber.ToString() == Account.Trim()
select tb).Single();
string AsePassword = Common.AESEncryptHelper.Encrypt(Password);
if (Operator.OperatorPassword.Equals(AsePassword.Trim()))
{
Session["OperatorID"] = Operator.OperatorID;
Session["Operator"] = Operator.Operator;
if (StrRember == "true")
{
HttpCookie cookie = new HttpCookie("operator");
cookie.Expires = DateTime.Now.AddDays(7);
cookie["Account"] = Account;
cookie["Password"] = Password;
Response.Cookies.Add(cookie);
}
else
{
HttpCookie cookie = new HttpCookie("operator");
cookie.Expires = DateTime.Now.AddDays(-1);
Response.Cookies.Add(cookie);
}
msg.State = true;
}
else
{
msg.Text = "密码错误!";
}
}
catch (Exception)
{
msg.Text = "用户不存在!";
}
return Json(msg, JsonRequestBehavior.AllowGet);
}