




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、通過(guò) web.config文件配置項(xiàng)目中文件夾的訪問(wèn)權(quán)限分類: ASP.NET2011-09-14 17:46 1980 人閱讀 評(píng)論 收藏舉報(bào)asp .n etformsma nagerauthorizati onen cod ing該文講解了通過(guò)web.config配置文件配置項(xiàng)目下文件夾的訪問(wèn)權(quán)限問(wèn)題。新建一個(gè)web運(yùn)用程序,項(xiàng)目結(jié)構(gòu)如下:磊由固1.!IJ驛決方黑"Dumb 口個(gè)項(xiàng)目)自宮DemoIb* |別 Properties2引用I"'“ 迢 App.Cock! Q AppData白“ Manager+ “ 活I(lǐng) Index_Manager.spxj j
2、 Login.apx-豈 Logins spxx 曹 Login.aspx.de5igrier.es.:| 詁 Wub.aHifig+ -日 Default.apx匚 3 Web.config其中Manager文件夾的ASP.NET頁(yè)面屬于管理員操作頁(yè)面,所有只用通過(guò)登錄并授權(quán)后才能訪問(wèn),而根目錄下面的ASP.NET頁(yè)面則任何用戶都可以訪問(wèn),如Default.aspx 頁(yè)面。首先修改根目錄下的web.config配置文件,將默認(rèn)的windows驗(yàn)證方式修改為 Forms驗(yàn)證方式。在web.config配置文件中,將view plain1. <authentication mode=&qu
3、ot;Windows" />修改為:view plain1. <!-設(shè)置認(rèn)證方式為Forms認(rèn)證->2. <authentication mode="Forms" >3. <!-指定認(rèn)證表單->4. vforms log inUrl="/Ma nager/Log in. aspx"defaultUrl="/Man ager/I ndex_Ma nager.aspx" protecti on ="All" ></forms>5. v/authent
4、ication>6. <!-授權(quán):設(shè)置該配置文件同級(jí)目錄下的所有ASP.NET資源的訪問(wèn)權(quán)限7. vauthorization>8. <!-設(shè)置為允許所有用戶訪問(wèn)->9. vallow users ="*" />10. v/authorization>然后在Manager文件下面添加新的web.config配置文件,該文件旨在重寫(xiě)外面的web.config配置同級(jí)目錄下的資源訪問(wèn)權(quán)限(在圖中可以看到項(xiàng)目下有兩個(gè)web.config配置文件),修改新添加的配置文件,修改結(jié)果如下:view plain1. <?xml versio
5、n ="1.0"encoding ="utf-8"?>2. <!-3. 注意:除了手動(dòng)編輯此文件以外,您還可以使用4. Web管理工具來(lái)配置應(yīng)用程序的設(shè)置??梢允褂?Visual Studio 中的5. 網(wǎng)站”-> “Asp.Net配置”選項(xiàng)。6. 設(shè)置和注釋的完整列表在7. mach in e.c on me nts中,該文件通常位于8. /Win dows/Microsoft.Net/Framework/v2.x/Co nfig9. - >10. <configuration>11. <!-12. vappS
6、etti ngs/>13. vconn ectio nStri ngs/>14. ->15. vsystem.web>16. v!-添加授權(quán)->17. vauthorizati on>18. v!-阻止匿名用戶訪問(wèn)->19. vdeny users="?" />20. v/authorizati on>21. v/system.web>22. v/configuration>至此,配置文件都修改完成了,但是還需要有登錄授權(quán)部分。F面我們通過(guò)Manager文件下面的Login.aspx登錄頁(yè)面給通過(guò)驗(yàn)證的用戶授
7、權(quán)。在Login.aspx的登錄按鈕的單擊事件里view plain1. protected void btnLogin_Click(object sender, EventArgs e)2. 3. /如果用戶通過(guò)驗(yàn)證4. if (txtUserName.Text.Trim() ="qingyun"&& txtPwd.Text.Trim() ="123456")5. 6. /授權(quán)7. FormsAuthe nticati on .SetAuthCookie(txtUserName.Text.Trim(), false );8. /登錄后跳
8、轉(zhuǎn)9. Resp on se.Redirect("/Ma nager/l ndex_Ma nager.aspx")J10. 11. 至此全部完成!另外,以前寫(xiě)過(guò)一篇關(guān)于通過(guò)web.config文件配置項(xiàng)目中文件的訪問(wèn)權(quán)限的blog,有興趣的朋友可以對(duì)比一下。描述:在開(kāi)發(fā)中我們通常會(huì)碰到這樣的問(wèn)題,例如:在項(xiàng)目的根目錄下面有一個(gè)文件或者文件夾需要用戶登陸后才能訪問(wèn)。如果用戶在沒(méi)有登錄的情況下訪問(wèn)該文件或者該文件夾下面 的文件時(shí),直接攔截重定向到對(duì)應(yīng)的登陸頁(yè)面。例一:我想讓用戶在訪問(wèn)我的程序的Admin文件夾下的頁(yè)面時(shí)需要登錄,而在訪問(wèn)其他頁(yè)面時(shí)則不需要,也就是說(shuō)Admin文件
9、夾下的文件拒絕匿名訪問(wèn)下面是配置根目錄下的 web.config文件中關(guān)于授權(quán)驗(yàn)證的配置。view plain1. <system.web>2. <authenticationmode="Forms" ><!-默認(rèn)狀態(tài)下位Win dows->3. <forms log inUrl ="Adm in/Log in. aspx"n ame=".ASPXFORMSAUTH</forms>4. </authe nticati on>5. vauthorizati on>6. val
10、low users ="*" /> <!-允許任何訪問(wèn)者訪問(wèn)->7. v/authorizati on>8. </system.web>9. vlocationpath ="Admin" ><!-注意:該節(jié)點(diǎn)最好跟在</system.web>之后,盡管這兩個(gè)節(jié)點(diǎn)可能在 web.config文件中相隔比較遠(yuǎn),不要覺(jué)得有什么疑惑。下面是對(duì)Admin文件夾的訪問(wèn)權(quán)限的配置。->10. <system.web>11. vauthorizati on>12. <deny us
11、ers ="?"/> <!-阻止匿名用戶訪問(wèn)->13. v/authorizatio n>14. v/system.web>15. v/locati on>注意location節(jié),location節(jié)不需要vauthorization>節(jié)了假若加了的話,便會(huì)出現(xiàn)”在應(yīng)用程 序級(jí)別之外使用注冊(cè)為allowDefinition='MachineToApplication'" 這樣的錯(cuò)誤了,若在子文件下添加配置文件時(shí)也要注意相同的問(wèn)題.這樣,當(dāng)你在地址欄里面直接訪問(wèn)Admin下的任意(非Login.aspx文件)時(shí)
12、,將會(huì)被重定向到Admin文件夾下的 Login.aspx頁(yè)面。那到底是如何通過(guò) Login.aspx登陸頁(yè)面授權(quán)的呢(被授權(quán)后就可以訪問(wèn) Admin文件夾下 面的文件了)?Login.aspx頁(yè)面的后臺(tái)代碼:view plain1. if (userName = "xzl" && pwd ="000")2. 3. FormsAuthe nticati on .RedirectFromLog in Page(userName, false ); /授權(quán)(這里是關(guān)鍵)4. Response.Redirect("Main.aspx&
13、quot; ); / 通過(guò)上面授權(quán)后,用戶名為xzl的的用戶就可以訪問(wèn) Admin文件夾下面的Main.aspx文件 了5. 當(dāng)通過(guò)上面方式授權(quán)成功后,可以通過(guò)如下代碼來(lái)訪問(wèn)登錄的用戶名:view plain1. /如果登錄成功2. if (User.Identity.IsAuthenticated)3. 4./輸出登錄名5.stri ng userName=User.Ide ntity.Name;/獲取登錄名6.Resp on se.Write("歡迎管理員:"+ userName +"登錄!");7. 當(dāng)然,也可以通過(guò)代碼來(lái)安全推出:view pla
14、in1. System.Web.Security.FormsAuthentication.SignOut();上面的方式是 集中管理”的方式,也就是說(shuō)在一個(gè)配置文件中配置所有頁(yè)面的訪問(wèn)權(quán)限,這 兒再介紹一下分散管理的方式,即通過(guò)多個(gè)web.config來(lái)配置文件的訪問(wèn)權(quán)限。首先,web.config的作用我們應(yīng)該知道兩點(diǎn):1、web.config的設(shè)置將作用于所在目錄及所在目錄下的所有子文件下的資源一一一般指.net資源,如aspx、ashx、ascx等文件,對(duì).html、js、css等則不起作用,當(dāng)然,不同 的iis版本下有所不同,在此不做討論。2、子目錄下的 web.config文件將覆蓋從父目錄繼承下來(lái)的設(shè)置。接下來(lái),我們新建一個(gè)測(cè)試項(xiàng)目,項(xiàng)目資源如下圖:U解唾基竺理 E- "«« C2尸a個(gè)項(xiàng)目)Adjn inE莊HESDIError. Login, izpx Main. aspKjj AppjCoie二I Default, aspjt Default, uejjji. cm目 VLiEemo(2).slrt上圖中的Admin文件夾是受保護(hù)的,只有通過(guò)省份驗(yàn)證的用戶可以訪問(wèn),所以,我們?cè)诟?目錄下的web.config配置文件中做如下配置:view plain1.<authenticationmode=&q
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 眾籌股東合同范例6
- 南匯食品運(yùn)輸合同范例
- 三年級(jí)數(shù)數(shù)學(xué)解決問(wèn)題教案
- 叉車裝卸合同范本
- 加工木門(mén)合同范本
- 單位用品批發(fā)合同范本
- 付款分期合同范本
- 制造師證書(shū)掛靠合同范本
- 《童年的秘密》讀書(shū)心得體會(huì)
- 司機(jī) 勞動(dòng)合同范本
- 電廠應(yīng)急救援培訓(xùn)
- 智慧能源島解決方案
- 做最好的教師讀書(shū)分享
- 眼底疾病課件教學(xué)課件
- 二元一次方程組應(yīng)用題(50題)
- 出生證警示教育培訓(xùn)
- KYC高客營(yíng)銷培訓(xùn)
- 通信工程建設(shè)標(biāo)準(zhǔn)強(qiáng)制性條文匯編(2023版)-定額質(zhì)監(jiān)中心
- 《現(xiàn)代家政導(dǎo)論》電子教案 4.2模塊四項(xiàng)目二家政教育發(fā)展認(rèn)知
- 現(xiàn)代家政導(dǎo)論-課件 5.2.2認(rèn)識(shí)我國(guó)家政服務(wù)業(yè)
- DB11∕512-2017 建筑裝飾工程石材應(yīng)用技術(shù)規(guī)程
評(píng)論
0/150
提交評(píng)論