原因可能是在域控制器上安装的.NET,ASPNET账号(启动aspnet_wp.exe账号)没有足够的创建进程的权限所致。
请尝试如下几种方法:
方法1:
将账号ASPNET加入本机管理员中。
方法2:
进入/WINNT/Microsoft.NET/Framework/Version/Config目录,打开machine.config文件。找到processModel项,将其中username改成system或者一个你自己创建的有权限的账号。
方法3:
在IIS中将站点的安全性设置为只允许集成Windows验证,然后在站点中的web.config中的
中加一行:
以上所列方法可能需要重启IIS服务。
原因就是用machine时,系统会用aspnet账号运行asp.net应用,而aspnet账号在域控制器上权限不够。而用system时,系统则会用system账号(拥有对本机的特权)运行asp.net应用。
只有在域控制器上才存在aspnet账号问题,微软为什么这么做就不得而知啦,可能是出于安全的因素吧,或者是一个Bug。
至于Window集成方式访问数据库,缺省情况下会以访问者进程的启动账号访问数据库,所以当将启动账号改为system后,就应该可以访问本机数据库,而不需要第三步。
当采用第三种方式时,系统会以访问者的实际身份访问所需资源,不是同一个域中的机器访问时会被要求输入用户名和密码。