[英]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.