2019/3/23 12:48:10
所有(yǒu).NET的(de)應用(yòng)程序都(dōu)将其信息保存在一個(gè)基于XML的(de)配置文(wén)件(jiàn)裏。一般來說,這個(gè).config配置文(wén)件(jiàn)位于應用(yòng)程序可(kě)執行(xíng)文(wén)件(jiàn)的(de)目錄下。但(dàn)是,Web應用(yòng)程序會(huì)使用(yòng)位于應用(yòng)程序根目錄下的(de)web.config文(wén)件(jiàn)。用(yòng)于ASP.NET應用(yòng)程序的(de)web.config包含的(de)信息和(hé)其應用(yòng)程序大(dà)多數的(de)操作都(dōu)相(xiàng)關。現在剖析一個(gè)web.config示例文(wén)件(jiàn),看看在其中找到(dào)哪些和(hé)安全相(xiàng)關的(de)設置。
配置文(wén)件(jiàn)的(de)設置和(hé)區段
首先,看一下Listing A裏的(de)配置文(wén)件(jiàn)的(de)整體結構。這個(gè)文(wén)件(jiàn)作爲XML文(wén)檔必須有(yǒu)一個(gè)根元素把其他(tā)所有(yǒu)的(de)元素都(dōu)包括進來。很奇怪的(de)是,在這裏根元素是<configuration>。在根元素之下是<system.web>和(hé)<appSettings>區段。<system.web>這一區段會(huì)辨别它所包括的(de)用(yòng)于缺省Web服務器(qì)的(de)信息,包括安全信息。<AppSettings>這一區段放(fàng)置著(zhe)用(yòng)于應用(yòng)程序的(de)所有(yǒu)全局數據。已經說過,數據庫連接字符串能(néng)夠被很好地(dì)保存下來。例子裏,那裏保存了Web網站無DSN的(de)ODBC連接字符串。
自定義錯誤頁面
<system.web>下的(de)第一項是<customErrors>,能(néng)夠指定一些頁面,以便在用(yòng)戶碰到(dào)各種錯誤的(de)時候引導到(dào)這些頁面。在例子裏,如(rú)果發生404錯誤,用(yòng)戶将被引導到(dào)/errorpages/FileNotFound.html頁面。碰到(dào)任何其他(tā)錯誤的(de)時候,用(yòng)戶會(huì)被引導到(dào)/errorpages/GeneralError.html頁面。
驗證
<authentication>這一區段定義了服務器(qì)進行(xíng)用(yòng)戶驗證這一過程的(de)細節。所支持的(de)三種不同模式是Windows、Forms和(hé)Passport。現在來仔細看看每種模式:
Windows驗證通過Windows的(de)系統帳号來驗證用(yòng)戶,例如(rú)活動目錄(Active Directory)。Windows驗證是最安全的(de)驗證形式,對于程序員來說這種模式是很簡單的(de),因爲整個(gè)過程都(dōu)是由操作系統來處理(lǐ)的(de)。但(dàn)是,網站的(de)每個(gè)用(yòng)戶都(dōu)需要一個(gè)系統帳号,所以這種模式會(huì)被限制(zhì)在企業(yè)内部網(intranet)的(de)應用(yòng)程序裏。
Passport驗證使用(yòng)護照(zhào)來驗證用(yòng)戶,是第二安全的(de)驗證方式。其最好的(de)用(yòng)武之地(dì)是大(dà)型的(de)、活動的(de)Internet電子商務應用(yòng)程序,這些程序會(huì)驗證用(yòng)戶的(de)服務使用(yòng)費。這種模式是.NET所選擇的(de)驗證方法。
Forms驗證是安全性最低的(de)驗證方法,因爲必須要由應用(yòng)程序自己來處理(lǐ)驗證過程。但(dàn)是,這是最有(yǒu)可(kě)能(néng)在Internet應用(yòng)程序上(shàng)使用(yòng)的(de)模式,因爲所需要的(de)管理(lǐ)和(hé)維護是最少(shǎo)的(de)。
查一下Listing A就可(kě)以看到(dào)這個(gè)網站使用(yòng)了Forms驗證。可(kě)以指定一個(gè)希望的(de)域名。在這裏,使用(yòng)的(de)是.ASPXAUTH,其功能(néng)和(hé)名稱其實是名不符實的(de)。隻不過是把這個(gè)元素放(fàng)進去,用(yòng)以提醒它的(de)确有(yǒu)個(gè)名字。
還會(huì)看到(dào),已經爲登錄頁面指定了相(xiàng)關的(de)URL:/LoginForm.aspx。當用(yòng)戶試圖訪問一個(gè)安全頁面時,無法通過驗證的(de)用(yòng)戶就會(huì)被引導到(dào)這個(gè)URL。匿名用(yòng)戶,如(rú)果允許訪問的(de)授權區域的(de)話(huà),就不會(huì)被自動送到(dào)這個(gè)頁面。
深圳市南山區南山街(jiē)道南海(hǎi)大(dà)道西(xī)桂廟路(lù)北陽光(guāng)華藝大(dà)廈1棟4F、4G-04
咨詢電話(huà):136 8237 6272
大(dà)客戶咨詢:139 0290 5075
業(yè)務QQ:195006118
技術(shù)QQ:179981967