上网查了很多资料,上面很多解决方法试了都不行,后来同事发过来一篇文章http://aspalliance.com/336_Upload_Files_Using_ASPNET_Impersonation_and_UNC_Share.all,看了后按照上面的步骤设置,终于大功告成。。下面我就共享一下解决方法。
web服务器A和文件服务器B操作系统都为windows2003,测试成功,解决方案如下:
web服务器A, 192.168.0.11
文件服务器B(共享目录所在的机器):192.168.0.12
1. 在两台电脑上都创建相同的用户和密码(test/testpwd)
2. 在服务器B,将共享目录的共享权限设置为everyon可写(实际上应该是针对一个用户的,但目前还不清楚是哪 一个具体用户)
3. 在服务器B,将共享目录的写权限给用户test
4. 在服务器A,创建虚拟目录指向共享目录,设置访问用户为test,共享名必须使用ip地址方式。
5. 在启动web应用程序之前,需要以test/testpwd为标识连接到共享目录.
6.在web.config文件的<system.web>下加上<identity impersonate="true" userName="test" password="testpwd"/>
7.把web服务器上C:/WINDOWS/Microsoft.NET/Framework/v2.0.50727/Temporary ASP.NET Files文件夹的full control权限赋给test用户。
8.重启iis,ok。