下面代码显示用户登录时“记住我”选项功能。
在 Cookie 中存储凭据,当用户下次登录时取回当前登录用户。
protected void Page_Load(object sender, EventArgs e){
if (!IsPostBack){
if (Request.Cookies["myCookie"] != null) {
HttpCookie cookie = Request.Cookies.Get("myCookie");
txtUserName.Text = cookie.Values["username"];
txtPassword.Text = cookie.Values["password"];
}
}
}
protected void btnLogin_Click(object sender, EventArgs e) {
try{
objImpl = new WebImplIPhone();
bool IsAvailable = false;
HttpCookie myCookie = new HttpCookie("myCookie");
bool IsRemember = chkRememberMe.Checked;
IsAvailable =
objImpl.CheckUserLogin(txtUserName.Text, txtPassword.Text);
if (IsAvailable) {
DataTable dtUserName =
objImpl.ReadUserIdbyUserName(txtUserName.Text);
if (dtUserName != null) {
if (dtUserName.Rows.Count == 1) {
Session["UserId"] =
dtUserName.Rows[0].ItemArray[0].ToString();
}
}
if (IsRemember) {
myCookie.Values.Add("username", txtUserName.Text);
myCookie.Values.Add("password", txtPassword.Text);
myCookie.Expires = DateTime.Now.AddDays(15);
}else{
myCookie.Values.Add("username", string.Empty);
myCookie.Values.Add("password", string.Empty);
myCookie.Expires = DateTime.Now.AddMinutes(5);
}
Response.Cookies.Add(myCookie);
Response.Redirect("ApplicationList.aspx");
}else {
lblError.Text =
"Invalid UserName or Password or else your Username blocked";
}
} catch (Exception ex) {
Response.Redirect("Home.aspx");
}
}