User.Identity.Name 我認(rèn)為它比較好點(diǎn).前提是驗(yàn)證Form模,使用FormsAuthenticationTicket創(chuàng)建一個(gè)Cookie并回發(fā)到客戶端,并存儲(chǔ)角色到票據(jù)
User.Identity.Name 占用的也是服務(wù)器資源,超時(shí)不太是清楚.
[quote]
Forms 身份驗(yàn)證提供了一種方法,使您可以使用自己的代碼對(duì)用戶進(jìn)行身份驗(yàn)證,然后將身份驗(yàn)證標(biāo)記保留在 Cookie 或頁(yè)的 URL 中。Forms 身份驗(yàn)證通過 FormsAuthenticationModule 參與 ASP.NET 頁(yè)的生命周期。可以通過 FormsAuthentication 類訪問 Forms 身份驗(yàn)證信息和功能。
若要使用 Forms 身份驗(yàn)證,可以創(chuàng)建一個(gè)登錄頁(yè)。該登錄頁(yè)既收集了用戶的憑據(jù),又包括驗(yàn)證這些憑據(jù)時(shí)所需的代碼。如果這些憑據(jù)有效,可以調(diào)用 FormsAuthentication 類的方法,以便使用適當(dāng)?shù)纳矸蒡?yàn)證票證 (Cookie) 將請(qǐng)求重定向到最初請(qǐng)求的資源。如果不需要進(jìn)行重定向,只需獲取 Forms 身份驗(yàn)證 Cookie 或?qū)ζ溥M(jìn)行設(shè)置即可。
使用 authentication 配置元素對(duì) Forms 身份驗(yàn)證進(jìn)行配置。最簡(jiǎn)單的情況是,在 Web.config 文件或單獨(dú)的文件中,可以通過指定 URL 將未經(jīng)身份驗(yàn)證的請(qǐng)求重定向到某個(gè)登錄頁(yè),然后提供該登錄頁(yè)的最小實(shí)現(xiàn),并提供有效的憑據(jù)。下面的示例演示配置文件的一部分。該配置文件為 Authenticate 方法指定了登錄頁(yè)和身份驗(yàn)證憑據(jù)。密碼已經(jīng)使用 HashPasswordForStoringInConfigFile 方法進(jìn)行加密。
復(fù)制代碼
<authentication mode="Forms">
<forms name="SavingsPlan" loginUrl="/Logon.aspx">
<credentials passwordFormat="SHA1">
<user name="Kim"
password="07B7F3EE06F278DB966BE960E7CBBD103DF30CA6"/>
<user name="John"
password="BA56E5E0366D003E98EA1C7F04ABF8FCB3753889"/>
</credentials>
</forms>
</authentication>
成功通過身份驗(yàn)證之后,F(xiàn)ormsAuthenticationModule 模塊將會(huì)使用經(jīng)過身份驗(yàn)證的用戶信息填充當(dāng)前的 User 屬性。下面的代碼示例演示如何以編程方式讀取經(jīng)過 Forms 身份驗(yàn)證的用戶的標(biāo)識(shí)。
C# code
String authUser2 = User.Identity.Name;
Forms 身份驗(yàn)證、ASP.NET 成員資格和登錄控件
使用 Forms 身份驗(yàn)證的簡(jiǎn)便方法是,使用 ASP.NET 成員資格和 ASP.NET 登錄控件。ASP.NET 成員資格提供了一種存儲(chǔ)和管理信息的方法,它包括各種用戶身份驗(yàn)證方法。ASP.NET 登錄控件使用 ASP.NET 成員資格并封裝提示用戶輸入憑據(jù)時(shí)所需的邏輯、驗(yàn)證用戶或恢復(fù)或替換密碼等。事實(shí)上,ASP.NET 成員資格和 ASP.NET 登錄控件在 Forms 身份驗(yàn)證中提供了一個(gè)抽象層,可以替換使用 Forms 身份驗(yàn)證時(shí)必須執(zhí)行的大部分或全部工作。有關(guān)更多信息,請(qǐng)參見使用成員資格管理用戶和 ASP.NET 登錄控件概述。
[/quote]
以上內(nèi)容摘自MSDN
“Forms 身份驗(yàn)證提供程序”-“ASP.NET 窗體身份驗(yàn)證概述”