国产99福利精品视频|杨幂精品国产福利在线|国精品午夜福利视频不卡|欧美精品黄网站在线播放|精品国产乱码久久久久久久|国产大片中文字幕在线观看|国产肥熟女视频一区二区三区|国产乱码无码视频一区二区三区

.NET使用無(wú)Cookie的表單認(rèn)證票據(jù)

來(lái)源:北大青鳥(niǎo)飛迅校區(qū)|發(fā)布時(shí)間:2013-05-01 18:42:06

        默認(rèn)情況下,forms authentication system將決定是將票據(jù)存儲(chǔ)在cookies collection里還是插入用戶(hù)訪問(wèn)頁(yè)面的URL里。所有主流的桌面瀏覽器,比如Internet Explorer,F(xiàn)irefox,Opera,或Safari都支持cookies,但并非所有的移動(dòng)設(shè)備都支持。

forms authentication system使用何種cookie策略,取決于元素里的cookieless設(shè)置,它可以有如下四種配置:

.UseCookies——指定總是使用基于cookie的票據(jù)

.UseUri——指定從不使用基于cookie的票據(jù)

.AutoDetect——如果device profile不支持cookies,就不使用基于cookie的票據(jù);如果device profile支持cookies,那么就運(yùn)用一種探測(cè)機(jī)制來(lái)判斷是否可以使用cookies.

.UseDeviceProfile——這是默認(rèn)值,如果device profile支持cookies,就使用基于cookie的票據(jù),不運(yùn)用探測(cè)機(jī)制。

其中,AutoDetect 和 UseDeviceProfile選項(xiàng)都依靠一個(gè)device profile來(lái)判斷是使用基于cookie還是無(wú)cookie的票據(jù)。ASP.NET有一個(gè)關(guān)于這種devices及其性能的數(shù)據(jù)庫(kù),比如某種devices是否支持cookies,它支持那個(gè)版本的JavaScript等信息。每次,當(dāng)一個(gè)device向服務(wù)器發(fā)出對(duì)某個(gè)頁(yè)面的請(qǐng)求時(shí),該請(qǐng)求里將包含一

個(gè)名為“user-agent”的HTTP header,用于表明device的類(lèi)型。ASP.NET將自動(dòng)的把提供的user-agent字符串與數(shù)據(jù)庫(kù)里相應(yīng)的信息匹配起來(lái)。

注意:

該數(shù)據(jù)庫(kù)存儲(chǔ)在很多的XML文件里.這些默認(rèn)的device profile文件,其路徑為%WINDIR%Microsoft.NetFrameworkv2.0.50727CONFIGBrowsers。你也可以在你應(yīng)用程序的App_Browsers文件夾里添加自定義的文件,關(guān)于這方面的更多信息,請(qǐng)參閱文章《How To: Detect Browser Types in ASP.NET Web Pages》

由于默認(rèn)使用的是UseDeviceProfile選項(xiàng).當(dāng)訪問(wèn)站點(diǎn)的某個(gè)device不支持cookies時(shí),就站點(diǎn)就使用無(wú)cookie的票據(jù).

在URL里對(duì)票據(jù)進(jìn)行編碼

當(dāng)瀏覽器每次向某個(gè)站點(diǎn)發(fā)出請(qǐng)求時(shí),用來(lái)存儲(chǔ)信息的載體通常是Cookies。但如果訪問(wèn)站點(diǎn)的device不支持Cookies的話(huà),我們必須使用某種方法在客戶(hù)端和服務(wù)器端傳遞票據(jù),通常的做法是在URL里將cookie數(shù)據(jù)編碼。

為了進(jìn)行演示,我們將強(qiáng)迫站點(diǎn)使用無(wú)cookie的票據(jù),為此我們將采用UseUri:

做了上述修改后,通過(guò)瀏覽器訪問(wèn).當(dāng)以匿名用戶(hù)進(jìn)行訪問(wèn)時(shí),URL看起來(lái)和以前沒(méi)什么區(qū)別,比如訪問(wèn)Default.aspx頁(yè)面時(shí),地址欄看起來(lái)和下面的差不多:

http://localhost:2448/ASPNET_Security_Tutorial_03_CS/default.aspx

然而一旦你登錄后,票據(jù)將加密到URL里.比如,當(dāng)以Sam的名義登錄后,轉(zhuǎn)到Default.aspx頁(yè)面,這次地址欄看起來(lái)和下面的差不多:

http://localhost:2448/ASPNET_Security_Tutorial_03_CS/(F(jaIOIDTJxIr12xYS-VVgkqKCVAuIoW30Bu0diWi6flQC-FyMaLXJfow_Vd9GZkB2Cv-rfezq0gKadKX0YPZCkA2))/default.aspx

該票據(jù)已經(jīng)被編碼進(jìn)URL。字符串(F(jaIOIDTJxIr12xYS-VVgkqKCVAuIoW30Bu0diWi6flQC-FyMaLXJfow_Vd9GZkB2Cv-rfezq0gKadKX0YPZCkA2)就是以16進(jìn)制對(duì)票據(jù)信息編碼后的效果。這于通常情況下存儲(chǔ)在一個(gè)cookie里的數(shù)據(jù)是一樣的。

上一篇:三層最重要的也是“抽象”
下一篇:在C#程序設(shè)計(jì)中使用Win32類(lèi)庫(kù)

熱門(mén)話(huà)題

招生熱線(xiàn): 4008-0731-86 / 0731-82186801

學(xué)校地址: 長(zhǎng)沙市天心區(qū)團(tuán)結(jié)路6號(hào)

Copyright © 2006 | 湖南大計(jì)信息科技有限公司 版權(quán)所有

湘ICP備14017520號(hào)-3

關(guān)注我們
在線(xiàn)咨詢(xún)
嘿,我來(lái)幫您!