一,在一個公共類里創建一個公共方法,然后需要驗證的頁面都調用這個方法
//在此例子中,就是在入口函數里調用CheckLogin()方法;
public static string SeUserID
{
get
{
return HttpContext.Current.Session["SeUserID"].ToString();
}
set
{
HttpContext.Current.Session["SeUserID"] = value;
}
}
/// <summary>
/// 檢查用戶是否登錄,如果未登錄就轉到登錄頁面
/// </summary>
public static void CheckLogin()
{
if (SeUserID == "" || SeUserID == "0")
{
HttpContext.Current.Response.Redirect("ForeignFirms.aspx");
//HttpContext.Current.Response.Write("<script>window.open('');alert('登陸失效,請重新登陸');</script>");
}
}
//在cs頁面調用驗證方法
protected void Page_Load(object sender, EventArgs e)
{
Commom.CommonFunction.CheckLogin();//驗證登陸信息
if (!IsPostBack)
{
GetData();
value = Request.QueryString["id"].ToString();
if (value != "0")
{
GetEdit();
}
}
}
二,通過Global文件來控制
protected void Session_Start(Object sender, EventArgs e)
{
Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300";
}
--讀取的方法,在代碼中的應用
String strConnection=Session["sqlConnectionString"].ToString();
sqlConnection_1=new SqlConnection(strConnection);
三,通過Web.Config文件配置//配置Web.Config文件的方法如下:
在Web.Config文件的<system.web></system.web>節點中添加如下代碼,設置Session的生命周期為10分鐘。
<sessionState mode="InProc" timeout="10"></sessionState>
在web.config文件中設置Session時,可以設置以下幾個參數:
Mode//該參數用于設置存儲會話狀態。狀態包括Off、Inproc、StateServer和SqlServer。
Off//表示禁用會話狀態
Inproc//表示工作進程自身存儲會話狀態
StateServer//表示將把會話信息存放在一個單獨的ASP.NET狀態服務中
SqlServe//r表示將把會話信息存放在SQL Server數據庫中。
StateConnecitonString//該參數用于設置ASP.NET應用程序存儲遠程會話狀態的服務器名,默認名為本地。
Cookieless//當該參數值設置為True時,表示不使用Cookie//會話標識客,反之設置為False時,標識啟動Cookie會話狀態。
SqlConnectionString//該參數用于設置SQL Server數據庫連接。
Timeout//該參數用于設置會話時間,超過該期限,會自動中斷會話,默認設置為20。