濮阳杆衣贸易有限公司

主頁(yè) > 知識(shí)庫(kù) > ASP.NET中HTML頁(yè)面的訪問(wèn)驗(yàn)證設(shè)置方法

ASP.NET中HTML頁(yè)面的訪問(wèn)驗(yàn)證設(shè)置方法

熱門標(biāo)簽:寧德防封版電銷卡 海東防封電銷卡 西寧電銷外呼系統(tǒng)公司 安陸市地圖標(biāo)注app 南昌自動(dòng)外呼系統(tǒng)線路 辦公用地圖標(biāo)注網(wǎng)點(diǎn)怎么操作 云南外呼系統(tǒng)代理 上海市三維地圖標(biāo)注 聊城智能電銷機(jī)器人電話

可能有很多朋友和我一樣不會(huì)留意到這樣的問(wèn)題,在ASP.NET中,使用其自身提供的訪問(wèn)驗(yàn)證功能(表單驗(yàn)證、Passport 驗(yàn)證、Windows 驗(yàn)證),并不會(huì)對(duì)靜態(tài)文件(如 html、圖像文件、文本文件等)進(jìn)行訪問(wèn)限制,即使這些文件置于需要驗(yàn)證后才能訪問(wèn)的文件夾下,匿名用戶仍然可以訪問(wèn)到這些文件。這是因?yàn)殪o態(tài)文件默認(rèn)是由 IIS 處理,IIS 在接收到對(duì)這些文件的請(qǐng)求后,并不會(huì)轉(zhuǎn)交給 ASP.NET 處理,所以,在 ASP.NET 中的權(quán)限驗(yàn)證失去了作用。換句話說(shuō),這些文件不在ASP.NET 的管轄范圍內(nèi)。

那么,如何將這些文件置于 ASP.NET 的管轄范圍內(nèi)呢?以 html 文件為例,最簡(jiǎn)單的辦法是將 html 文件的后綴改為 aspx,這個(gè)辦法很簡(jiǎn)單,也算實(shí)用,但并不正規(guī)。另一種方法是針對(duì) IIS 進(jìn)行設(shè)置,讓 IIS 將 html 文件的處理權(quán)轉(zhuǎn)交給 ASP.NET。設(shè)置如下:

(1) 打開 IIS,找到需要設(shè)置的 ASP.NET 應(yīng)用程序,打開屬性對(duì)話框。

(2) 在“虛擬目錄”選項(xiàng)卡中有一個(gè)“應(yīng)用程序設(shè)置”,點(diǎn)擊這里面的“設(shè)置”按鈕,彈出新的對(duì)話框。

(3) 在“對(duì)應(yīng)”選項(xiàng)卡中,點(diǎn)擊“新增”按鈕,增加 .htm 的后綴與處理程序的對(duì)應(yīng)關(guān)系,具體設(shè)置可參照 .aspx 的設(shè)置。

設(shè)置好之后,再次訪問(wèn)位于需要驗(yàn)證的目錄下的 html 文件,會(huì)轉(zhuǎn)到登錄頁(yè)面提示用戶登錄,說(shuō)明訪問(wèn)驗(yàn)證已經(jīng)生效。但到此仍未完成,因?yàn)榈卿浐髸?huì)發(fā)現(xiàn),htm 文件錯(cuò)誤。這涉及到 HttpHandler 的問(wèn)題,因?yàn)閷?duì)于 ASP.NET 來(lái)說(shuō),這相當(dāng)于啟用了一種新的文件類型,但卻沒(méi)有相應(yīng)的處理程序。所以,還需要改動(dòng) web.config 的設(shè)置,注冊(cè)一個(gè)新的處理程序,對(duì)于 html 文件,我們可以使用 aspx 文件的處理程序,所以設(shè)置如下:

system.web>
...
httpHandlers>
...
!-- 增加后綴為 htm 文件的處理程序,這里使用 aspx 文件的處理程序 -->
add verb="*" path="*.htm" type="System.Web.UI.PageHandlerFactory"/>
/httpHandlers>
...
/system.web>

再次訪問(wèn),這次是編譯錯(cuò)誤,因?yàn)槿鄙賹?duì) htm 文件的相應(yīng)編譯程序,再修改web.config:

system.web>
compilation>
...
!-- 設(shè)置后綴為 htm 的文件的編譯程序,這里使用 aspx 文件的編譯程序 -->
buildPRoviders>
add extension=".htm" type="System.Web.Compilation.PageBuildProvider"/>
/buildProviders>
/compilation>
...
/system.web>

這回再訪問(wèn)這個(gè) html 文件,它正如我們期望的一樣,需要進(jìn)行身份驗(yàn)證,并且也能夠正常顯示。其實(shí)這個(gè)問(wèn)題的核心在于對(duì) HttpHandler 的理解。另外,據(jù)說(shuō)在 IIS7 中,只要把應(yīng)用程序放在模式為Integrated 的應(yīng)用程序池中,就可以解決這個(gè)問(wèn)題。

如果不是特殊要求或者非要使用HTML靜態(tài)頁(yè)面時(shí),個(gè)人覺(jué)得還是把html轉(zhuǎn)換成aspx比較簡(jiǎn)單??蛻舨渴鸩恍枰鬟^(guò)多的配置,有些客戶就很煩部署系統(tǒng)要作配置,所以還是簡(jiǎn)單為好。

您可能感興趣的文章:
  • ASP.NET表單驗(yàn)證方法詳解
  • asp.net 繼承自Page實(shí)現(xiàn)統(tǒng)一頁(yè)面驗(yàn)證與錯(cuò)誤處理
  • asp.net MaxLengthValidator 最大長(zhǎng)度驗(yàn)證控件代碼
  • jQuery 驗(yàn)證插件 Web前端設(shè)計(jì)模式(asp.net)
  • ASP.net的驗(yàn)證控件淺析
  • ASP.NET MVC5添加驗(yàn)證(4)
  • ASP.NETWeb服務(wù)器驗(yàn)證控件如何使用
  • 詳解ASP.NET MVC Form表單驗(yàn)證
  • ASP.NET中Validation驗(yàn)證控件正則表達(dá)式特殊符號(hào)的說(shuō)明
  • 在ASP.NET 2.0中操作數(shù)據(jù)之十九:給編輯和新增界面增加驗(yàn)證控件
  • 在ASP.NET 2.0中操作數(shù)據(jù)之三十九:在DataList的編輯界面里添加驗(yàn)證控件

標(biāo)簽:崇左 汕尾 衢州 洛陽(yáng) 青海 贛州 南寧

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《ASP.NET中HTML頁(yè)面的訪問(wèn)驗(yàn)證設(shè)置方法》,本文關(guān)鍵詞  ASP.NET,中,HTML,頁(yè),面的,訪問(wèn),;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問(wèn)題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《ASP.NET中HTML頁(yè)面的訪問(wèn)驗(yàn)證設(shè)置方法》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于ASP.NET中HTML頁(yè)面的訪問(wèn)驗(yàn)證設(shè)置方法的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    汉中市| 郓城县| 咸宁市| 乌拉特后旗| 玉树县| 克什克腾旗| 九龙坡区| 罗江县| 樟树市| 夏邑县| 襄樊市| 磐石市| 昭通市| 县级市| 凉城县| 鄂尔多斯市| 阿克陶县| 锦屏县| 西丰县| 荔波县| 灵寿县| 武隆县| 林西县| 颍上县| 湘阴县| 眉山市| 新平| 新津县| 井陉县| 阜平县| 昔阳县| 定南县| 丰城市| 临澧县| 梅河口市| 安泽县| 吉木乃县| 马尔康县| 新余市| 平遥县| 项城市|