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文件系统中的权限控制中,可以让每个用户的权限可以不同,那个定义每个用户不同权限的列表就是该对象的访问控制表