我正在尝试在 IIS7 中将虚拟目录设置到网络共享文件夹,但是出现了访问被拒绝错误。
我在两台服务器上创建了一个具有相同名称和密码的用户,并授予该用户对该文件夹的读写权限,然后我在虚拟目录中使用了“连接为”选项并选择了我新创建的用户。为了确保万无一失,我还在两台服务器上为应用程序池选择了新用户。
我正在使用进程监视器来监视文件/文件夹,每次我尝试通过 Web 浏览器访问虚拟目录时,我都可以看到我正在访问的文件被拒绝访问。进程监视器也识别出我正在使用我新创建的用户。
我还需要做或检查什么吗...我已经阅读过许多论坛,它们重复了我尝试过的相同信息。
访问被拒绝错误似乎出在虚拟目录中的“web.config”文件上,而不是我在浏览器中访问的文件上。我尝试过使用目录中的简单 web.config 文件(对我的用户具有完全权限),也尝试过不使用 web.config 文件...结果相同。
更新:
单击 VD 基本设置选项上的“测试设置”时出现此信息:
服务器配置为使用自定义帐户的传递身份验证来访问指定的物理路径。此帐户无法访问该路径,因为该帐户没有读取权限。授予该帐户对该路径的读取权限,然后再次测试这些设置。
不过我已确保我的新用户对联网机器拥有完全权限。
谢谢你,保罗
答案1
好吧,我现在已经让它工作了,尽管我还不是 100% 确定如何做。
我使用两台机器上的“net use * /delete”删除了与网络服务器的所有当前共享连接......只是为了确保当前没有活动的连接。
然后使用右键单击文件夹时的“共享”选项创建共享文件夹。为我的新用户授予此文件夹的权限...删除了 IIS 中的虚拟目录,使用共享文件夹(“//ip address/sharedfoldername/”)创建了一个新目录,而不是像以前那样访问它(“//ip address/c$/inetpub/sharedfolder/”)。
这很有效,我不再为此烦恼...我相信它可能使用了以前建立的连接中的身份验证(我映射了一个网络驱动器)。
我想我应该发布此内容以防其他人遇到任何问题。
保罗
答案2
您不需要在两台服务器上都设置用户。在共享文件的服务器上设置用户,并SERVERNAME\Username
在配置 IIS 的连接身份设置时将其用作登录凭据。
答案3
如果您需要 Windows 身份验证,您可能会发现 IIS 正在尝试模拟用户。如果您配置匿名身份验证并使用应用程序池标识(与具有 UNC 权限的用户相同,对吗?)作为匿名用户帐户,它会起作用吗?