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值.在其他页调用即可.
