IIS7下面運行Asp+Access資料庫,無法運行。
在goole、百度裡搜了半天,沒有搜到解決辦法。在遠景看到有幾個人問,似乎有一個人聲稱自己成功了,然而卻沒有給出方法。
今天突然心血來潮想起到微軟網站上搜了下,終於讓俺發現解決方案了。
原文:
-------
By adding appropriate ACL for the user to %windir%\ServiceProfiles\NetworkService\AppData\Local\Temp should resolve this issue.
-------
但是,俺沒有明白它說的ACL是什麼意思。只好自己測試給temp目錄添加使用者權限許可。發現經過多測發現:
只需要給“系統硬碟:\windows\ServiceProfiles\NetworkService\AppData\Local\Temp“這個目錄添加一個"Autheticated Users“的讀寫許可即可以了。
具體做法是:滑鼠右鍵單擊temp目錄,選擇properties》security》edit》add》選擇"Authenticated Users",選擇“Full Control“就可以了。
另一個方法是:
修改:
C:\Windows\System32\inetsrv\config\applicationHost.config
該檔案第108行原文:
<processModel identityType="NetworkService" />
修改為:
<processModel identityType="NetworkService" loadUserProfile="false" />
發生這種情況的原因是因為MS Jet資料引擎更改了臨時目錄位置。所有需要給該temp目錄許可權。方法2通過不載入使用者驗證配置來解決,失去了IIS7的安全改進,所有方法1是王道。但是,方法1是俺驗證得出,應該沒有問題。但不知道和那個“adding appropriate ACL ”有什麼區別。
ACL:ACL就是存取控制表(Access Control List),
NTFS檔案系統中的許可權控制中,可以讓每個使用者的許可權可以不同,那個定義每個使用者不同許可權的列表就是該對象的存取控制表