cookie使用总结--不需要在每页写入登陆验证!

    技术2022-05-11  85

    1,如果使用form认证,那么更改web.config就可以了,可以针对单个文件操作。2,没有Form认证的话,想用Sessin来做认证,但有个问题就是Session每个页面都要写if(Session["id"]==null){ ...}当判断为空时转向login.aspx页面。建立一个基类页面 Base_Page.aspx把公共属性,方法写到这个基类基类页面的cs中其他页面继承此基类页面

    基类:---------------using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;

    namespace cstest{ /// <summary> /// BasePage 的摘要说明。 /// </summary> public class BasePage : System.Web.UI.Page {  protected System.Web.UI.WebControls.DropDownList DropDownList1;   private void Page_Load(object sender, System.EventArgs e)  {   // 在此处放置用户代码以初始化页面  }

      #region Web 窗体设计器生成的代码  override protected void OnInit(EventArgs e)  {   //   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   //   InitializeComponent();

       if (Session["CurrentUser"] == null)    {     HttpContext.Current.Response.Write("<script language=javascript>top.location.href='WebForm1.aspx';</script>");    HttpContext.Current.Response.End();    return;      }   base.OnInit(e);  }    /// <summary>  /// 设计器支持所需的方法 - 不要使用代码编辑器修改  /// 此方法的内容。  /// </summary>  private void InitializeComponent()  {       this.Load += new System.EventHandler(this.Page_Load);

      }  #endregion    } }---------------------------------子类:-----------------------using System;using System.Collections;using System.ComponentModel;using System.Data;using System.Drawing;using System.Web;using System.Web.SessionState;using System.Web.UI;using System.Web.UI.WebControls;using System.Web.UI.HtmlControls;

    namespace cstest{ /// <summary> /// chilran 的摘要说明。 /// </summary> public class chilran : BasePage//  public class chilran : System.Web.UI.Page {  protected System.Web.UI.WebControls.Button Button2;  protected System.Web.UI.WebControls.Button Button1;  protected System.Web.UI.WebControls.Button Button3;  protected System.Web.UI.WebControls.ListBox ListBox1;  protected System.Web.UI.WebControls.Label Label1;   private void Page_Load(object sender, System.EventArgs e)  {   // 在此处放置用户代码以初始化页面

    //   Session["CurrentUser"] = "aa";

       this.Label1.Text = "ndsfksjafsf";  }

      #region Web 窗体设计器生成的代码  override protected void OnInit(EventArgs e)  {   //   // CODEGEN: 该调用是 ASP.NET Web 窗体设计器所必需的。   //   InitializeComponent();   base.OnInit(e);  }    /// <summary>  /// 设计器支持所需的方法 - 不要使用代码编辑器修改  /// 此方法的内容。  /// </summary>  private void InitializeComponent()  {       this.Load += new System.EventHandler(this.Page_Load);

      }  #endregion }}---------------------------------session页----------  private void LinkButton1_Click(object sender, System.EventArgs e)  {     }  private void Button1_Click(object sender, System.EventArgs e)  {  this.Response.Redirect("chilran.aspx");  } }}---------------------------------------------错误页:------------WebForm1.aspx

    3,也可以写一个静态类,做一个公开方法,返回bool值.在其他页调用即可.


    最新回复(0)