asp.net 身份驗(yàn)證(分目錄驗(yàn)證篇)
要實(shí)現(xiàn)這種功能,也只要將《asp.net中的身份驗(yàn)證(最簡(jiǎn)單篇)》稍作修改,具體操作方式如下所示:
第一步、創(chuàng)建一個(gè)子文件夾,將所有要驗(yàn)證的網(wǎng)頁(yè)都放在這個(gè)文件夾中,設(shè)置該文件夾的名字為“admin”。
第二步、修改web.config文件。
1、在<system.web>和</system.web>中找到<authentication>節(jié),將其改為“<authentication mode="Forms"><forms loginUrl="~/admin/AdminLogin.aspx"></forms></authentication>”,其中Forms代表使用表單認(rèn)證;loginUrl用于指定登錄頁(yè)面URL,個(gè)人比較喜歡將登錄頁(yè)面也放在admin文件夾中,所以在此要指定登錄頁(yè)面URL,如果還是想使用根目錄中的login.aspx頁(yè)面作為登錄頁(yè)面,則可以省略<forms>節(jié)。
2、在<system.web>和</system.web>中添加“<authorization><allow users="?"/></authorization>”,其中“<allow users="?"/>”代表允許所有的匿名用戶(hù)。注意此處與《asp.net中的身份驗(yàn)證(最簡(jiǎn)單篇)》的區(qū)別,在《asp.net中的身份驗(yàn)證(最簡(jiǎn)單篇)》中,此處使用的是“<deny users="?"/>”,用于拒絕所有匿名用戶(hù)。
第三步、在需要身份驗(yàn)證的子文件夾中添加一個(gè)web.config文件,在本例中為在“admin”文件夾中添加該文件。
第四步、修改需要身份驗(yàn)證的子文件夾中的web.config文件,在本例中為“admin”文件夾中的web.config文件。
在<system.web>和</system.web>中,添加“<authorization><deny users="?"/></authorization>”,由于在根目錄中的web.config文件中聲明了允許所有匿名用戶(hù)訪問(wèn),所以在不能允許匿名用戶(hù)訪問(wèn)的子文件夾中,必須要使用“<deny users="?"/>”來(lái)拒絕匿名用戶(hù)訪問(wèn)。另外,在子文件夾中的web.config文件中可以沒(méi)有<authentication>節(jié)。
第五步、在“admin”子文件夾中創(chuàng)建AdminLogin.aspx文件。如果在第二步中沒(méi)有使用<forms>節(jié)來(lái)指定用戶(hù)登錄頁(yè)面,則在網(wǎng)站根目錄下創(chuàng)建login.aspx文件。
第六步、在AdminLogin.aspx文件(或login.aspx文件)中驗(yàn)證身份,如果身份驗(yàn)證通過(guò),使用FormsAuthentication.SetAuthCookie()為用戶(hù)創(chuàng)建一個(gè)身份驗(yàn)證的票據(jù),并將其添加到Cookie中。以后,再訪問(wèn)網(wǎng)站中admin子目錄下的其他網(wǎng)頁(yè),就不需要使用進(jìn)行身份驗(yàn)證了。單擊提交按鈕后的代碼與《asp.net中的身份驗(yàn)證(最簡(jiǎn)單篇)》中的代碼類(lèi)似,在此就不再贅述了。
本例在VS2005中測(cè)試通過(guò)。
本例的優(yōu)點(diǎn):過(guò)程和代碼都十分簡(jiǎn)單,可以指定某個(gè)目錄中的網(wǎng)頁(yè)進(jìn)行身份驗(yàn)證,而不是整個(gè)網(wǎng)站的所有網(wǎng)站都進(jìn)行身份驗(yàn)證。
本例的缺點(diǎn):身份驗(yàn)證過(guò)于簡(jiǎn)單,驗(yàn)證結(jié)果只有兩種,一種是沒(méi)有通過(guò)驗(yàn)證,因而拒絕訪問(wèn);一種是通過(guò)驗(yàn)證,可以訪問(wèn)。如果想對(duì)權(quán)限進(jìn)行細(xì)分,比較說(shuō)管理員A擁有添加權(quán)限,而管理員B只擁有查看權(quán)限,這種功能就無(wú)法實(shí)現(xiàn)了。
- asp.net 身份驗(yàn)證(最簡(jiǎn)單篇)
- asp.net Forms身份驗(yàn)證和基于角色的權(quán)限訪問(wèn)
- asp.net forms身份驗(yàn)證,避免重復(fù)造輪子
- ASP.NET Internet安全Forms身份驗(yàn)證方法
- Asp.Net二級(jí)域名共享Forms身份驗(yàn)證、下載站/圖片站的授權(quán)訪問(wèn)控制
- asp.net身份驗(yàn)證方式介紹
- asp.net 身份驗(yàn)證機(jī)制實(shí)例代碼
- Asp.net Mvc 身份驗(yàn)證、異常處理、權(quán)限驗(yàn)證(攔截器)實(shí)現(xiàn)代碼
- asp.net中幾種常用的身份驗(yàn)證方法總結(jié)
- 詳解ASP.NET七大身份驗(yàn)證方式以及解決方案
- ASP.NET窗體身份驗(yàn)證詳解
相關(guān)文章
ASP.NET連接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)方法總結(jié)
這篇文章主要介紹了ASP.NET連接數(shù)據(jù)庫(kù)并獲取數(shù)據(jù)方法,結(jié)合實(shí)例分析總結(jié)了ASP.NET連接數(shù)據(jù)庫(kù)及獲取數(shù)據(jù)的相關(guān)實(shí)現(xiàn)技巧,并附帶了web.config配置文件的使用方法與相關(guān)注意事項(xiàng),需要的朋友可以參考下2015-11-11
常用的在數(shù)據(jù)庫(kù)中建立無(wú)限級(jí)樹(shù)形菜單的asp.net代碼
經(jīng)常在項(xiàng)目中遇到建立無(wú)限級(jí)樹(shù)形菜單展示的效果,這里簡(jiǎn)單地做了一個(gè),基本后臺(tái)代碼如下2008-09-09
在ASP.NET中實(shí)現(xiàn)彈出日歷的具體方法
這篇文章介紹了ASP.NET彈出日歷功能的實(shí)現(xiàn)方法,有需要的朋友可以參考一下2013-07-07
ASP.NET Core 過(guò)濾器中使用依賴(lài)注入知識(shí)點(diǎn)總結(jié)
在本篇文章里小編給大家分享的是關(guān)于ASP.NET Core 過(guò)濾器中使用依賴(lài)注入的相關(guān)知識(shí)點(diǎn)內(nèi)容,需要的朋友們學(xué)習(xí)下。2019-10-10
提交頁(yè)面的定位--scrollIntoView的用法
提交頁(yè)面的定位--scrollIntoView的用法...2007-03-03
CheckBox為CheckBoxList實(shí)現(xiàn)全選或全取消選擇(js代碼實(shí)現(xiàn))
在管理商品后臺(tái)是,由于CheckBoxList的選擇太多,用戶(hù)需要一個(gè)全選或全取消的功能,這樣操作起來(lái)會(huì)提高效率同時(shí)可以減少誤點(diǎn)等,本文將教大家如何實(shí)現(xiàn),有需要的朋友可以參考下,望本文對(duì)你有所幫助2013-01-01
asp.net登錄驗(yàn)證碼實(shí)現(xiàn)方法
這篇文章主要為大家詳細(xì)介紹了asp.net登錄驗(yàn)證碼實(shí)現(xiàn)方法,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2016-08-08
ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪問(wèn)靜態(tài)頁(yè)面
高訪問(wèn)量類(lèi)型的電子商務(wù)網(wǎng)站,需要將一些不是經(jīng)常變化的頁(yè)面生成靜態(tài)頁(yè)面,然后普通用戶(hù)就可以直接訪問(wèn)這些靜態(tài)頁(yè)面而不用再訪問(wèn)需要連接數(shù)據(jù)庫(kù)的動(dòng)態(tài)頁(yè)面。那么ASP.NET MVC3中如何做到這一點(diǎn)呢2011-12-12

