关于web页面登陆的方法
我的登陆方式是下面的代码,但是我这几天看到可以用cookie,还可以用session,我就是来请教一下,如果用cookie怎么改写我的代码呢?要是用session怎么改写啊?
protected void ImageButton1_Click(object sender, ImageClickEventArgs e)
{
try
{
string connstr = "Data Source=.;Initial Catalog=admin;Integrated Security=True";
SqlConnection conn = new SqlConnection(connstr);
conn.Open();
SqlCommand cmd = new SqlCommand("select * from \"Table_admin\" where ID = '" + this.username.Text.Trim() + "' and password = '" + this.password.Text.Trim() + "'", conn);
SqlDataReader dr = cmd.ExecuteReader(CommandBehavior.CloseConnection);
if (dr.Read())
{
this.Response.Redirect("main.html", true);
}
else
{
ClientScript.RegisterStartupScript(this.GetType(), "message", "<script language='javascript' >alert('您填写的信息有误');</script>");
this.username.Text = "";
this.password.Text = "";
}
conn.Close();
}
catch (Exception ex)
{
this.Response.Write(ex.Message);
}
------解决方案--------------------
if (dr.Read())
{
Session["userName"]=dr["ID"].ToString();
this.Response.Redirect("main.html", true);
}
以后判断用户是否已登录用
if(Session["userName"]!=null)
//已登录
------解决方案--------------------
Session和Cookie都用:
if (dr.Read())
{
Session["userName"]=dr["ID"].ToString();
Response.Cookies["UserInfo"].Value = dr["ID"].ToString();
Response.Cookies["UserInfo"].Expires = DateTime.Now.AddDays(14); //设定Cookies十四天后过期
this.Response.Redirect("main.html", true);
}