登陆时使用了cookie方法,cookie 会记录登陆的用户名和密码信息,下次登陆就不需要输入用户名和密码,浏览器会直接读取cookie。
if (strIsRember != null && strIsRember.Trim() == “true”)
{
//记住密码 保存cookie
HttpCookie cookie = new HttpCookie(“user”);
cookie.Expires = DateTime.Now.AddDays(7); //保存7天
cookie[“UserNumber”] = strUserNumber; //用户名
cookie[“Password”] = strPassword; //密码
cookie[“RoleName”] = RoleName.ToString(); //用户类型
Response.Cookies.Add(cookie); // Response服务器给浏览器的回应
}
else
{
//忘记
HttpCookie cookie = new HttpCookie(“user”);
cookie.Expires = DateTime.Now.AddDays(-1); //设置为昨天,浏览器会自动删除cookie
Response.Cookies.Add(cookie);
}
上面的代码为登陆时设置cookie的代码,设置的cokkie保留时间为7天,上面的if是判断是否勾选了记住我,如果选择记住,便保持账号密码,时限为7天,去除便清空cookie。
当页面需要获取登陆信息我们应该怎么实现呢?
我们只需要到那个页面使用cookie获取就行了。
string UserNumber = "";
string Password = "";
string RoleName = "";
bool isRember = false;
//获取cookie UrlDecode用来解码
HttpCookie cookie = System.Web.HttpContext.Current.Request.Cookies["user"];
if (cookie != null)
{
if (cookie["UserNumber"] != null)
{
UserNumber = System.Web.HttpContext.Current.Server.UrlDecode(cookie["UserNumber"]);
}
if (cookie["Password"] != null)
{
Password = System.Web.HttpContext.Current.Server.UrlDecode(cookie["Password"]);
}
if (cookie["RoleName"] != null)
{
RoleName = System.Web.HttpContext.Current.Server.UrlDecode(cookie["RoleName"]);
}
isRember = true;
}
ViewBag.UserNumber = UserNumber;
ViewBag.Password = Password;
ViewBag.RoleName = RoleName;
ViewBag.isRember = isRember;
使用ViewBag便能获取到cookie