I shouldn't use cookie by javascript, instead you can use HttpCookie object, like follow:
- when click event of login, you save info to cookie:
if (users.Login(userName, passWord))
{
HttpCookie cookie = new HttpCookie("PortalUser");
if (RememberMe.Checked)
{
cookie.Values["AC"] =userName;
cookie.Values["PW"] = Encrypt(userName, passWord);// you change your encrypt method is here
}else{
cookie.Values["AC"] ="";
cookie.Values["PW"] = "";
}
cookie.Values["Remember"] = RememberMe.Checked.ToString();/
cookie.Expires = DateTime.Now.AddDays(10);
Response.Cookies.Add(cookie);
FormsAuthentication.SetAuthCookie(userName, false);
Response.Redirect("Default.aspx");
}
- And load event of login page:
HttpCookie cookie = (HttpCookie)Request.Cookies["PortalUser"];
if (cookie != null)
{
string userName=cookie.Values["AC"];
string passWord = DeEncryted(userName, cookie.Values["PW"]);
bool remember = bool.Parse(cookie.Values["Remember"]);
txtUserName.Text = userName;
txtPassWord.Text = passWord;
RememberMe.Checked = remember;
}
Endly, I think when click remember me, your system don't show Login page, it login automatically and redirect to Default.aspx directly. It's useful with your client, in my experience.
And load event of login page:
HttpCookie cookie = (HttpCookie)Request.Cookies["PortalUser"];
if (cookie != null)
{
string userName=cookie.Values["AC"];
string passWord = DeEncryted(userName, cookie.Values["PW"]);
bool remember = bool.Parse(cookie.Values["Remember"]);
txtUserName.Text = userName;
txtPassWord.Text = passWord;
RememberMe.Checked = remember;
}
if (users.Login(userName, passWord))
{
Response.Redirect("Default.aspx");
}