最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

ASP.NET 2.0 中Forms安全認(rèn)證

 更新時(shí)間:2009年12月10日 22:00:52   作者:  
ASP.NET 中有一個(gè)完整的 Web 應(yīng)用程序或網(wǎng)站的用戶身份驗(yàn)證系統(tǒng)
即:使用 Membership 類(lèi) + FormsAuthentication 一起使用以創(chuàng)建的用戶管理與認(rèn)證的系統(tǒng)。
當(dāng)然這兩部分都可以單獨(dú)使用,今天先著重后者,至于前者,我下一篇隨筆將會(huì)寫(xiě)到。

ASP.NET 中提供了多種認(rèn)證方式,比如大名鼎鼎的Windows 身份驗(yàn)證
Windows 身份驗(yàn)證模式根據(jù) IIS 所提供的憑據(jù)將當(dāng)前 User 屬性值設(shè)置為 WindowsIdentity,但它不修改提供給操作系統(tǒng)的 Windows 標(biāo)識(shí)。提供給操作系統(tǒng)的 Windows 標(biāo)識(shí)用于進(jìn)行權(quán)限檢查(如 NTFS 文件權(quán)限檢查)或者用于使用集成安全性連接到數(shù)據(jù)庫(kù)。默認(rèn)情況下,此 Windows 標(biāo)識(shí)是 ASP.NET 進(jìn)程的標(biāo)識(shí)。在 Microsoft Windows 2000 和 Windows XP Professional 上,此標(biāo)識(shí)是 ASP.NET 輔助進(jìn)程的標(biāo)識(shí),即本地 ASPNET 帳戶。在 Windows Server 2003 上,此標(biāo)識(shí)是 ASP.NET 應(yīng)用程序所屬的 IIS 應(yīng)用程序池的標(biāo)識(shí)。默認(rèn)情況下,此標(biāo)識(shí)是 NETWORK SERVICE 帳戶。
通過(guò)啟用模擬功能,可以將 ASP.NET 應(yīng)用程序的 Windows 標(biāo)識(shí)配置為 IIS 所提供的 Windows 標(biāo)識(shí)。也就是說(shuō),指示 ASP.NET 應(yīng)用程序模擬 IIS 為 Windows 操作系統(tǒng)驗(yàn)證的所有任務(wù)(包括文件和網(wǎng)絡(luò)訪問(wèn))提供的標(biāo)識(shí)。(解釋來(lái)自MSDN Library)

還有一種常有的認(rèn)證即是 Forms 身份驗(yàn)證
Forms 身份驗(yàn)證使不要求 Windows 身份驗(yàn)證的 Web 應(yīng)用程序可以進(jìn)行用戶和密碼驗(yàn)證。使用 Forms 身份驗(yàn)證時(shí),用戶信息存儲(chǔ)在外部數(shù)據(jù)源中,例如Member 數(shù)據(jù)庫(kù),或存儲(chǔ)在應(yīng)用程序的配置文件中。在用戶通過(guò)身份驗(yàn)證后,F(xiàn)orms 身份驗(yàn)證即會(huì)在 Cookie 或 URL 中維護(hù)一個(gè)身份驗(yàn)證票證,這樣已通過(guò)身份驗(yàn)證的用戶就無(wú)需在每次請(qǐng)求時(shí)都提供憑據(jù)了。

這樣一來(lái)就方便也安全了,那具體怎么完成Forms身份認(rèn)證的設(shè)置呢?

首先打開(kāi)配置文件web.config
找到<system.web>節(jié)點(diǎn)下的 <authentication> 和 <authorization>節(jié)點(diǎn)加入
<system.web>
<authentication mode="Forms">
<forms loginUrl="login.aspx" />
</authentication>
<authorization>
<deny users="?" />
</authorization>
<authentication>節(jié)點(diǎn)是設(shè)置認(rèn)證方式,這里我們制定 Forms
<forms>節(jié)點(diǎn)內(nèi)的屬性可以制定 認(rèn)證頁(yè)面(登錄頁(yè)面)、默認(rèn)頁(yè)面、是否使用cookie、認(rèn)證超時(shí)時(shí)間等等。
這里我們只指定認(rèn)證頁(yè)面 loginUrl="login.aspx"
<authorization> 節(jié)點(diǎn)是認(rèn)證節(jié)點(diǎn)
<deny> 是否認(rèn)節(jié)點(diǎn) 指定屬性 users="?"即為未經(jīng)過(guò)認(rèn)證的人都需要去認(rèn)證頁(yè)面進(jìn)行認(rèn)證
與之對(duì)應(yīng)的是<allow>允許節(jié)點(diǎn)

這樣一來(lái)思路就清晰了,無(wú)論用戶訪問(wèn)什么頁(yè)面服務(wù)器會(huì)判斷用戶是否通過(guò)認(rèn)證,如果沒(méi)有轉(zhuǎn)到認(rèn)證頁(yè)面。

下一步將要確定在login.aspx.cs文件中如何完成我們認(rèn)證工作了
public void Login_OnClick(object sender, EventArgs args)
{
if (BLL.CheckLogin(this.Txbusername.Text,this.Txbuserpwd.Text ))
FormsAuthentication.RedirectFromLoginPage(UsernameTextbox.Text,NotPublicCheckBox.Checked);
else
Msg.Text = "Login failed. Please check your user name and password and try again.";
}
這里的CheckLogin(用戶名,密碼) 方法是在邏輯層使用的驗(yàn)證用戶是否合法的方法
當(dāng)然如果用 Membership類(lèi)繼承的一些驗(yàn)證方法會(huì)更簡(jiǎn)單,但是在此不詳細(xì)說(shuō)明了。

FormsAuthentication 類(lèi)(終于提到主人公了),它所屬的命名空間為 System.Web.Security;
FormsAuthentication 是用來(lái)設(shè)置認(rèn)證的類(lèi),如果用戶合法,把用戶名保存在cookie中,之后用戶再次訪問(wèn)或訪問(wèn)其他頁(yè)面都無(wú)需再次認(rèn)證
它內(nèi)部的常用方法有
RedirectFromLoginPage(用戶名(string),是否把用戶名長(zhǎng)期保存在coolie中(bool))
將經(jīng)過(guò)身份驗(yàn)證的用戶重定向回最初請(qǐng)求的 URL 或默認(rèn) URL

SetAuthCookie(用戶名(string),是否把用戶名長(zhǎng)期保存在coolie中(bool))
為提供的用戶名創(chuàng)建一個(gè)身份驗(yàn)證票證,并將其添加到響應(yīng)的 Cookie 集合或 URL
等等 方法很多,不詳細(xì)列出了。

具體的使用或者深入的挖掘希望各位自己去探索了

相關(guān)文章

  • 理解HttpHandler,并為所有*.jpg圖片生成一段文字于圖片上

    理解HttpHandler,并為所有*.jpg圖片生成一段文字于圖片上

    HttpHandler就是最終相應(yīng)HTTP請(qǐng)求,生成HTTP響應(yīng)的處理器,他們的實(shí)例由asp.net運(yùn)行時(shí)創(chuàng)建,,并生存在asp.net的運(yùn)行時(shí)環(huán)境中,如果asp.net運(yùn)行時(shí)是處理請(qǐng)求的工廠,HttpHandler是處理請(qǐng)求的工人
    2012-03-03
  • 使用jQuery Uploader顯示文件上傳進(jìn)度

    使用jQuery Uploader顯示文件上傳進(jìn)度

    在上傳大文件的時(shí)候, 我們都希望可以向用戶顯示上傳的進(jìn)度, 那么這里介紹的就是使用 jQuery Uploader 來(lái)實(shí)現(xiàn)這樣的效果
    2011-12-12
  • asp.net 圖標(biāo)提取以及圖標(biāo)轉(zhuǎn)換的實(shí)例代碼

    asp.net 圖標(biāo)提取以及圖標(biāo)轉(zhuǎn)換的實(shí)例代碼

    asp.net 圖標(biāo)提取以及圖標(biāo)轉(zhuǎn)換的實(shí)例代碼,需要的朋友可以參考一下
    2013-06-06
  • asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法

    asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法

    這篇文章主要介紹了asp.net實(shí)現(xiàn)中英文多域名檢測(cè)的方法,涉及asp.net針對(duì)URL中域名的解析及字符串操作相關(guān)技巧,需要的朋友可以參考下
    2016-08-08
  • asp.net 動(dòng)態(tài)表單之?dāng)?shù)據(jù)分頁(yè)

    asp.net 動(dòng)態(tài)表單之?dāng)?shù)據(jù)分頁(yè)

    我們很常會(huì)在項(xiàng)目中提到一個(gè)動(dòng)態(tài)表單的概念,比如學(xué)校里面學(xué)生的考試成績(jī),當(dāng)學(xué)生登錄系統(tǒng)的時(shí)候,他當(dāng)然是希望看到他自己所有科目的成績(jī);又或者是班主任,他需要看到本班同學(xué)所有科目的成績(jī);這些時(shí)候我們一般都會(huì)在頁(yè)面中呈現(xiàn)如下的效果。
    2010-03-03
  • ubuntu安裝dotnet的方法

    ubuntu安裝dotnet的方法

    文章詳細(xì)介紹了在Ubuntu系統(tǒng)上安裝.NET SDK的步驟,包括添加Microsoft包簽名密鑰、添加包存儲(chǔ)庫(kù)、安裝.NET SDK以及配置環(huán)境變量等,感興趣的朋友跟隨小編一起看看吧
    2025-01-01
  • ASP.NET性能優(yōu)化小結(jié)(ASP.NET&C#)

    ASP.NET性能優(yōu)化小結(jié)(ASP.NET&C#)

    ASP.NET性能優(yōu)化,提高頁(yè)面的執(zhí)行效率與下載速度,等很多需要考慮的細(xì)節(jié),編程人員值得參考下。
    2011-01-01
  • ASP.NET Core部署前期準(zhǔn)備 使用Hyper-V安裝Ubuntu Server 16.10

    ASP.NET Core部署前期準(zhǔn)備 使用Hyper-V安裝Ubuntu Server 16.10

    這篇文章主要為大家詳細(xì)介紹了ASP.NET Core部署的前期準(zhǔn)備,使用Hyper-V安裝Ubuntu Server 16.10,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-04-04
  • C#后臺(tái)調(diào)用前臺(tái)javascript的五種方法小結(jié)

    C#后臺(tái)調(diào)用前臺(tái)javascript的五種方法小結(jié)

    于項(xiàng)目需要,用到其他項(xiàng)目組用VC開(kāi)發(fā)的組件,在web后臺(tái)代碼無(wú)法訪問(wèn)這個(gè)組件,所以只好通過(guò)后臺(tái)調(diào)用前臺(tái)的javascript,從而操作這個(gè)組件。
    2010-12-12
  • VS2015+Qt5+OpenCV3開(kāi)發(fā)環(huán)境配置

    VS2015+Qt5+OpenCV3開(kāi)發(fā)環(huán)境配置

    這篇文章主要為大家詳細(xì)介紹了VS2015+Qt5+OpenCV3開(kāi)發(fā)環(huán)境配置,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-06-06

最新評(píng)論

博湖县| 高雄市| 浦东新区| 七台河市| 仪陇县| 凉山| 嘉善县| 静海县| 通江县| 三原县| 余江县| 龙海市| 修武县| 通道| 南川市| 若尔盖县| 军事| 积石山| 崇明县| 中西区| 敦化市| 英吉沙县| 辽阳市| 隆尧县| 珲春市| 固镇县| 遂平县| 呼和浩特市| 南靖县| 泽普县| 榕江县| 来安县| 莆田市| 山阴县| 玛沁县| 赞皇县| 平远县| 准格尔旗| 大英县| 元阳县| 白沙|