ASP.NET數(shù)據(jù)庫(kù)編程之處理文件訪問許可
一個(gè)MDB數(shù)據(jù)庫(kù)就是硬盤上的另外一個(gè)文件,所以,像其他文件一樣,它也將遇到相同的文件訪問許可問題。這個(gè)問題的意思是為了讀取(和寫入,就像您將要在本書的后面看到的那樣)數(shù)據(jù)庫(kù)文件,頁(yè)面中所運(yùn)行的應(yīng)用程序必須具有相關(guān)許可才可以在Windows中讀取(和寫入)該文件。
到目前為止,示例中的頁(yè)面都能夠“正常運(yùn)行”的原因就是您使用的是VWD Web Server,一個(gè)在運(yùn)行VWD的用戶的身份下運(yùn)行的輕量級(jí)程序。這就是說,VWD Web Server為您而運(yùn)行,并且您已經(jīng)被允許讀取和寫入頁(yè)面連接的MDB文件。
但是,當(dāng)在IIS下運(yùn)行頁(yè)面時(shí),情況就有一點(diǎn)復(fù)雜了。此時(shí),ASP.NET頁(yè)面運(yùn)行于一個(gè)具有特定權(quán)限限制的用戶賬戶的身份之下。在IIS 5.1之下,這個(gè)賬戶是“ASPNET”。在IIS 6.0或更高版本下,這個(gè)賬戶是“Network Service”,屬于一個(gè)稱為IIS_WPG(“worker process group”)的Windows用戶組。為了在IIS下使用Access數(shù)據(jù)庫(kù),這些賬戶都必須授予對(duì)包含了MDB文件的目錄進(jìn)行讀取的許可以及按情況授予寫入的許可。
為了幫助您創(chuàng)建這些許可,當(dāng)數(shù)據(jù)庫(kù)處于應(yīng)用程序根目錄之下的App_Data子目錄下時(shí),VWD將執(zhí)行額外的步驟并自動(dòng)地將這個(gè)許可授予ASPNET或者 Network Service賬戶。假如您正在使用VWD來開發(fā)機(jī)器上的頁(yè)面,這個(gè)特定的目錄就一直會(huì)被授予正確的許可。App_Data目錄還有另外的好處,例如防止其中的任何文件響應(yīng)發(fā)出請(qǐng)求的Web瀏覽器。這就是說將MDB文件放入應(yīng)用程序的本地App_Data目錄之后,就可以保護(hù)這些文件不被應(yīng)用程序的客戶端無意或有意地下載了。所以,我們極力推薦將MDB文件保存至App_Data目錄中。
如果必須將MDB文件保存至其他的地方,或者需要手動(dòng)指定數(shù)據(jù)庫(kù)目錄的許可(例如,您正工作于一臺(tái)遠(yuǎn)程Web服務(wù)器),那么可以使用Windows來為ASP.NET和/或 Network Service賬戶配置許可。
如需手動(dòng)設(shè)置許可,請(qǐng)按如下步驟執(zhí)行:
(1) 使用Windows Explorer瀏覽MDB文件所在的文件夾。
(2) 右鍵單擊這個(gè)目錄并選擇Properties。
(3) 選擇Security標(biāo)簽并單擊Add按鈕。
(4) 添加本地的ASP.NET賬戶(IIS 5.1) 或者IIS_WPG組(IIS 6)。
(5) 單擊OK;然后將相關(guān)許可應(yīng)用至這個(gè)目錄。
如需獲得更多信息,請(qǐng)參閱名為“Running ASP.NET 1.1和IIS 6.0”的白皮書,可以從ASP.NET的Web站點(diǎn):http://www.asp.net/faq/AspNetAndIIS6.aspx上獲得該白皮書。
- asp.net中WebResponse 跨域訪問實(shí)例代碼
- ASP.NET拒絕訪問臨時(shí)目錄的解決方法
- ASP.net中網(wǎng)站訪問量統(tǒng)計(jì)方法代碼
- asp.net 未能寫入輸出文件--“拒絕訪問的解決辦法
- ASP.NET對(duì)路徑"xxxxx"的訪問被拒絕的解決方法小結(jié)
- ASP.NET MVC3關(guān)于生成純靜態(tài)后如何不再走路由直接訪問靜態(tài)頁(yè)面
- asp.net 實(shí)現(xiàn)靜態(tài)頁(yè)面累加訪問量的三種方式
- asp.net實(shí)現(xiàn)訪問局域網(wǎng)共享目錄下文件的解決方法
相關(guān)文章
ASP.NET技巧:同時(shí)對(duì)多個(gè)文件進(jìn)行大量寫操作對(duì)性能優(yōu)化
ASP.NET技巧:同時(shí)對(duì)多個(gè)文件進(jìn)行大量寫操作對(duì)性能優(yōu)化...2006-09-09
從外部的js文件中獲取ASPX頁(yè)面的控件ClientID
從外部的js文件中獲取ASPX頁(yè)面的控件ClientID(get control reference from external javascript)2009-02-02
Asp.net中DataTable導(dǎo)出到Excel的方法介紹
本篇文章介紹了,Asp.net中DataTable導(dǎo)出到Excel的方法。需要的朋友參考下2013-05-05
使用FlashPaper在線轉(zhuǎn)換.doc為.swf
Flashpaper的使用相信大多數(shù)人都知道,這里的Demo是用于在線轉(zhuǎn)換 .doc文件轉(zhuǎn)換為 .swf的flash文件。2011-02-02
Web.config(應(yīng)用程序的配置信息)總結(jié)
Web.config文件是一個(gè)XML文本文件,它用來儲(chǔ)存 ASP.NET Web 應(yīng)用程序的配置信息(如最常用的設(shè)置ASP.NET Web 應(yīng)用程序的身份驗(yàn)證方式),它可以出現(xiàn)在應(yīng)用程序的每一個(gè)目錄中,接下來詳細(xì)介紹一下配置情況,感興趣的朋友可以了解下2013-01-01

