我在 DMZ 中有 2 个 win2k3 服务器,没有域。服务器 A 托管一个经典的 ASP 站点,需要将一些文件保存在服务器 B 的共享上。
已在服务器 A 和服务器 B 上使用相同的用户名/密码创建用户帐户 (testshare)。
在服务器 A 上的 IIS 中创建了一个虚拟目录。在 IIS 的“目录安全 > 身份验证和访问控制”选项卡中,已将“testshare”帐户分配为用户,并且未选中集成的 Windows 安全性。应用程序池已创建并分配给此虚拟目录,并且“testshare”帐户已配置为应用程序池标识。
服务器 B 创建了一个共享 (\ServerB\Share001),并对该共享设置了“Everyone”权限,并对该共享设置了 NTFS 文件权限。
当我登录到服务器 A 时,我可以在 Windows 资源管理器中键入“\ServerB\Share001\”,然后查看共享。
当我尝试从服务器 A 上的虚拟目录中的 ASP 脚本访问共享时,我收到“找不到路径”错误。
当我查看服务器 B 的事件日志来跟踪错误时,我发现:
登录失败:
原因:未知的用户名或密码错误
用户名:IUSR_SERVERA
域:SERVERA
我希望用户名是“testshare”,而不是“IUSR_SERVERA”。
我还希望共享能够正常工作,无论访问它的用户帐户如何,因为它设置了“所有人”权限。
任何人都可以提供一些调试的指针吗?
谢谢杰克
编辑
我最初只分配了共享的“testshare”帐户权限。当这不起作用时,我分配了“所有人”权限。我不想设置“所有人”权限,我刚刚启用它以查看它是否是与该帐户相关的权限。由于设置了“所有人”权限,因此看起来像是我无法诊断的其他内容。
编辑:
查看文档后,我认为最好的解决方案是使用 [UncUserName][1] 元数据库属性。
您可以将UncUserName和UncPassword属性设置为在两台服务器上镜像的testshare凭据。
您可以设置此属性,IIS6 将使用该用户和密码访问 UNC 共享而不是 IUSR。