国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > HTML > 正文

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

2020-03-24 15:59:00
字體:
供稿:網(wǎng)友
可能有很多朋友和我一樣不會留意到這樣的問題,在ASP.NET中,使用其自身提供的訪問驗(yàn)證功能(表單驗(yàn)證、Passport 驗(yàn)證、Windows 驗(yàn)證),并不會對靜態(tài)文件(如 html圖像文件、文本文件等)進(jìn)行訪問限制,即使這些文件置于需要驗(yàn)證后才能訪問的文件夾下,匿名用戶仍然可以訪問到這些文件。這是因?yàn)殪o態(tài)文件默認(rèn)是由 IIS 處理,IIS 在接收到對這些文件的請求后,并不會轉(zhuǎn)交給 ASP.NET 處理,所以,在 ASP.NET 中的權(quán)限驗(yàn)證失去了作用。換句話說,這些文件不在ASP.NET 的管轄范圍內(nèi)。那么,如何將這些文件置于 ASP.NET 的管轄范圍內(nèi)呢?以 html 文件為例,最簡單的辦法是將 html 文件的后綴改為 aspx,這個辦法很簡單,也算實(shí)用,但并不正規(guī)。另一種方法是針對 IIS 進(jìn)行設(shè)置,讓 IIS 將 html 文件的處理權(quán)轉(zhuǎn)交給 ASP.NET。設(shè)置如下:(1) 打開 IIS,找到需要設(shè)置的 ASP.NET 應(yīng)用程序,打開屬性對話框。(2) 在“虛擬目錄”選項卡中有一個“應(yīng)用程序設(shè)置”,點(diǎn)擊這里面的“設(shè)置”按鈕,彈出新的對話框。(3) 在“對應(yīng)”選項卡中,點(diǎn)擊“新增”按鈕,增加 .htm 的后綴與處理程序的對應(yīng)關(guān)系,具體設(shè)置可參照 .aspx 的設(shè)置。設(shè)置好之后,再次訪問位于需要驗(yàn)證的目錄下的 html 文件,會轉(zhuǎn)到登錄頁面提示用戶登錄,說明訪問驗(yàn)證已經(jīng)生效。但到此仍未完成,因?yàn)榈卿浐髸l(fā)現(xiàn),htm 文件錯誤。這涉及到 HttpHandler 的問題,因?yàn)閷τ?ASP.NET 來說,這相當(dāng)于啟用了一種新的文件類型,但卻沒有相應(yīng)的處理程序。所以,還需要改動 web.config 的設(shè)置,注冊一個新的處理程序,對于 html 文件,我們可以使用 aspx 文件的處理程序,所以設(shè)置如下:
system.web httpHandlers !-- 增加后綴為 htm 文件的處理程序,這里使用 aspx 文件的處理程序 -- add verb="*" path="*.htm" type="System.Web.UI.PageHandlerFactory"/ /httpHandlers /system.web 再次訪問,這次是編譯錯誤,因?yàn)槿鄙賹?htm 文件的相應(yīng)編譯程序,再修改web.config:
system.web compilation !-- 設(shè)置后綴為 htm 的文件的編譯程序,這里使用 aspx 文件的編譯程序 -- buildPRoviders add extension=".htm" type="System.Web.Compilation.PageBuildProvider"/ /buildProviders /compilation /system.web 這回再訪問這個 html 文件,它正如我們期望的一樣,需要進(jìn)行身份驗(yàn)證,并且也能夠正常顯示。其實(shí)這個問題的核心在于對 HttpHandler 的理解。另外,據(jù)說在 IIS7 中,只要把應(yīng)用程序放在模式為Integrated 的應(yīng)用程序池中,就可以解決這個問題。如果不是特殊要求或者非要使用HTML靜態(tài)頁面時,個人覺得還是把html轉(zhuǎn)換成aspx比較簡單。客戶部署不需要作過多的配置,有些客戶就很煩部署系統(tǒng)要作配置,所以還是簡單為好。更多編程語言

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標(biāo)記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 哈巴河县| 黔西| 吉木乃县| 新源县| 河北省| 治多县| 扶沟县| 曲阳县| 天门市| 会东县| 新泰市| 新丰县| 新疆| 方城县| 富宁县| 江孜县| 和龙市| 泰和县| 财经| 盐津县| 深泽县| 临武县| 铜梁县| 互助| 内丘县| 蛟河市| 高青县| 都匀市| 弥勒县| 韶关市| 临颍县| 改则县| 辰溪县| 德清县| 托克逊县| 宝丰县| 平南县| 隆尧县| 南安市| 高州市| 沙坪坝区|