[英]Remember me in Login with Session
我尝试用会话记住我,但我不能成功。 首先是可能吗?
在CheckedChanged方法中
if (CheckBox1.Checked)
{
Session["email"] = TextBox1.Text;
Session["pass"] = TextBox2.Text;
}
在pageload方法中
if (Session["email"].ToString() !=null && Session["pass"].ToString() !=null)
{
TextBox1.Text = Session["email"].ToString();
TextBox2.Text = Session["pass"].ToString();
}
但它不起作用。
您不能为此目的使用Session
。 您必须使用Cookie
来保存“ Remember Me
状态。
“记住我”功能是通过使用持久性cookie实现的。
您不能使用Session对象,因为它会在用户不活动一段时间后自动删除。
安全说明 : 切勿以纯文本格式存储用户密码!
顺便说一下:你创建一个带有两个属性的用户类和更好的email
并pass
,并将其存储在一个会话元素中更好:
User myUser = new User();
myUser.Email = "test@test.com";
myUser.Pass = "123456";
session["user"] = myUser;
并且您将记住我存储在cookie中,其中一些凭据高度加密或盐渍哈希,因此当您的用户再次访问时,您将名称和盐渍哈希与您在数据库中的信息相匹配
像这样改变。 当你检查价值时。 当null对象存在时,你无法访问ToString()方法。
if (!string.IsNullOrEmpty(Session["email"]) && string.IsNullOrEmpty(Session["pass"])) )
// then do with session objects.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.