登錄驗證全局控制的幾種方式總結(jié)(session)
更新時間:2014年01月20日 08:52:04 作者:
在登陸驗證或者其他需要用到session全局變量的時候,歸結(jié)起來,主要有以下三種較方便的實現(xiàn)方式。(其中個人較喜歡使用第一種實現(xiàn)方法)
一,在一個公共類里創(chuàng)建一個公共方法,然后需要驗證的頁面都調(diào)用這個方法
//在此例子中,就是在入口函數(shù)里調(diào)用CheckLogin()方法;
復(fù)制代碼 代碼如下:
public static string SeUserID
{
get
{
return HttpContext.Current.Session["SeUserID"].ToString();
}
set
{
HttpContext.Current.Session["SeUserID"] = value;
}
}
/// <summary>
/// 檢查用戶是否登錄,如果未登錄就轉(zhuǎn)到登錄頁面
/// </summary>
public static void CheckLogin()
{
if (SeUserID == "" || SeUserID == "0")
{
HttpContext.Current.Response.Redirect("ForeignFirms.aspx");
//HttpContext.Current.Response.Write("<script>window.open('');alert('登陸失效,請重新登陸');</script>");
}
}
復(fù)制代碼 代碼如下:
//在cs頁面調(diào)用驗證方法
protected void Page_Load(object sender, EventArgs e)
{
Commom.CommonFunction.CheckLogin();//驗證登陸信息
if (!IsPostBack)
{
GetData();
value = Request.QueryString["id"].ToString();
if (value != "0")
{
GetEdit();
}
}
}
二,通過Global文件來控制
復(fù)制代碼 代碼如下:
protected void Session_Start(Object sender, EventArgs e)
{
Session["sqlConnectionString"] = "uid=Username;pwd=password;database=MyTest;server=Localhost;Connect Timeout=300";
}
--讀取的方法,在代碼中的應(yīng)用
復(fù)制代碼 代碼如下:
String strConnection=Session["sqlConnectionString"].ToString();
sqlConnection_1=new SqlConnection(strConnection);
三,通過Web.Config文件配置
//配置Web.Config文件的方法如下:
在Web.Config文件的<system.web></system.web>節(jié)點中添加如下代碼,設(shè)置Session的生命周期為10分鐘。
復(fù)制代碼 代碼如下:
<sessionState mode="InProc" timeout="10"></sessionState>
在web.config文件中設(shè)置Session時,可以設(shè)置以下幾個參數(shù):
復(fù)制代碼 代碼如下:
Mode//該參數(shù)用于設(shè)置存儲會話狀態(tài)。狀態(tài)包括Off、Inproc、StateServer和SqlServer。
Off//表示禁用會話狀態(tài)
Inproc//表示工作進(jìn)程自身存儲會話狀態(tài)
StateServer//表示將把會話信息存放在一個單獨的ASP.NET狀態(tài)服務(wù)中
SqlServe//r表示將把會話信息存放在SQL Server數(shù)據(jù)庫中。
StateConnecitonString//該參數(shù)用于設(shè)置ASP.NET應(yīng)用程序存儲遠(yuǎn)程會話狀態(tài)的服務(wù)器名,默認(rèn)名為本地。
Cookieless//當(dāng)該參數(shù)值設(shè)置為True時,表示不使用Cookie//會話標(biāo)識客,反之設(shè)置為False時,標(biāo)識啟動Cookie會話狀態(tài)。
SqlConnectionString//該參數(shù)用于設(shè)置SQL Server數(shù)據(jù)庫連接。
Timeout//該參數(shù)用于設(shè)置會話時間,超過該期限,會自動中斷會話,默認(rèn)設(shè)置為20。
相關(guān)文章
C#使用Tesseract進(jìn)行Ocr識別的方法實現(xiàn)
本文主要介紹了C#使用Tesseract進(jìn)行Ocr識別的方法實現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06C#實現(xiàn)數(shù)字轉(zhuǎn)換漢字的示例詳解
這篇文章主要為大家詳細(xì)介紹了如何利用C#實現(xiàn)數(shù)字轉(zhuǎn)換漢字功能,文中的示例代碼講解詳細(xì),對我們學(xué)習(xí)C#有一定的幫助,感興趣的小伙伴可以跟隨小編一起了解一下2022-12-12如何用C#在PC上查找連接藍(lán)牙設(shè)備并實現(xiàn)數(shù)據(jù)傳輸
這篇文章主要介紹了如何用C#在PC上查找連接藍(lán)牙設(shè)備并實現(xiàn)數(shù)據(jù)傳輸,幫助大家更好的理解和學(xué)習(xí)使用c#,感興趣的朋友可以了解下2021-03-03