我使用我自己的自定义用户处理程序来验证用户的身份。
protected void Login1_Authenticate1(object sender, AuthenticateEventArgs e)
{
SqlReader rdr=null;
rdr=GetReader(Login1.UserName.ToString().ToLower().Trim(),Login1.Password);
while (rdr.Read())
{
e.Authenticated = true;
Session["Username"] = Login1.UserName.ToString();
Session["Name"] = rdr[0].ToString() + " " + (rdr[1].ToString() == null ? "" : rdr[1]);
id = rdr[2].ToString();
}
}
对于网站的所有其他部分,我检查 Session["Username"] 是否不为空。我的问题是使用上述身份验证方法并将用户名存储在会话中是一个坏主意吗?我听说会话可以被黑客入侵,但它们不是加密和散列的吗?如果它们没有被散列,我们如何散列它们?