ASP.NET 防止用户跳过登陆界面

2013 年 8 月 6 日3850

欢迎进入.NET社区论坛,与300万技术人员互动交流 >>进入

  1.在登陆页面的检查登陆成功代码后添加如下代码

  Session["UserID"] = txtUserID.Text.Trim();

  或者

  Session["UserID"] = "OK";

  例如,在我的 Login.aspx.cs 的登陆按钮响应事件中代码如下:

  if (BaseClass.CheckUser(txtUserID.Text.Trim(), txtPwd.Text.Trim()))

  {

  Session["UserID"] = txtUserID.Text.Trim();

  Response.Redirect("Main.aspx");

  }

  else

  {

  Response.Write("<script>alert('用户名或密码错误');location='Login.aspx'</script>");

  }

  2.然后在每个页面的Page_Load的开始处添加如下代码:

  if (Session["UserID"] == null || Session["UserID"].ToString() == "")

  {

  Response.Write("<Script language='javascript'>window.top.location.href='Login.aspx';</Script>");

  }

  例如在我的 Main.aspx.cs 的Page_Load代码包含如下内容:

  protected void Page_Load(object sender, EventArgs e)

  {

  if (Session["UserID"] == null || Session["UserID"].ToString() == "")

  {

  Response.Write("<Script language='javascript'>window.top.location.href='Login.aspx';</Script>");

  }

  if (!IsPostBack)

  {

  }

  }

  3.试试看,呵呵 ,,,

【责编:ivy】

0 0