Iis 401.1访问指向网络共享的虚拟目录时出错

Iis 401.1访问指向网络共享的虚拟目录时出错,iis,virtual-directory,sharing,network-share,Iis,Virtual Directory,Sharing,Network Share,IIS5正在服务器1上运行 IIS中的一个虚拟目录myfiles指向“另一台计算机上的共享位置”//SERVER2/myfilesshare 当我尝试访问该页面时: 。。。我得到一个错误: 您无权查看此页面 HTTP 401.1-未经授权:登录失败 互联网信息服务 我已三次检查IIS中的“连接为…”设置。我用来访问共享的凭据是正确的——它们在Windows资源管理器中连接到共享时有效,但不能通过IIS虚拟目录。 我已尝试向SERVER2文件夹中的所有人授予完全权限,但没有成功 有什么想法吗?尝

IIS5正在服务器1上运行

IIS中的一个虚拟目录myfiles指向“另一台计算机上的共享位置”//SERVER2/myfilesshare

当我尝试访问该页面时:

。。。我得到一个错误:

您无权查看此页面

HTTP 401.1-未经授权:登录失败

互联网信息服务

我已三次检查IIS中的“连接为…”设置。我用来访问共享的凭据是正确的——它们在Windows资源管理器中连接到共享时有效,但不能通过IIS虚拟目录。 我已尝试向SERVER2文件夹中的所有人授予完全权限,但没有成功


有什么想法吗?

尝试在虚拟目录安全选项卡(在IIS中)上启用windows身份验证。

权限问题可能很棘手。尝试在“其他计算机”上运行filemon,可以在此处下载: (它不是一个大型应用程序,只是一个小型的轻量级工具)

启动filemon后,停止监视进程(我相信在启动应用程序时默认情况下它是打开的),清除记录的数据,为无法访问的文件夹创建筛选器。启动监视进程。请求您的网页。停止监视进程并在filemon中查找“拒绝访问”消息。找到时,filemon还会提到试图访问的实际用户的名称。这可能会帮助您找到解决方案


顺便说一句,当使用Windows Server 2008时,您将需要processmon

想象一种场景,无论出于何种原因,您希望IIS服务器访问文件服务器上的共享,但它们不在同一域上

如果您可以遵循并让它为您工作(我已经使用IIS 7实现了Win32 2008-R1 32位文件服务器和Win32 2008-R2 64位),那么您在任何情况下都应该处于良好状态

  • 两台服务器上使用相同密码的同名本地帐户
  • 在IIS上,使用
    aspnet\u regiis-ga MyAccount
    授予本地帐户访问IIS gut的权限
  • 现在将其用作网站的应用程序池标识
  • 使用本地安全策略(管理工具)为本地帐户的委派启用信任
  • 重新启动IIS服务器
  • 在文件服务器上,使用本地安全策略启用本地帐户的网络访问
  • 创建向本地帐户授予所需权限的共享(也可根据需要授予安全选项卡权限)
  • 在两者之间使用Windows资源管理器时,打开文件和打印共享端口(尽可能限制),以确定其适用于您的位置
  • 返回IIS,使用文件服务器中共享文件夹的UNC路径创建虚拟目录
  • 只需使用直通式身份验证(将使用您的本地帐户)
  • 您可以告诉虚拟目录的匿名身份验证设置也使用应用程序池标识
使用可以测试/验证的东西。关键在于信任使用
服务帐户(域或其他)的委派,并让IIS使用您希望它使用的帐户,而不是本地服务器或网络服务


我花了一整天才弄明白。StackOverflow和其他互联网资源中的各种线程帮助我找到了各种资源,但在任何地方都找不到确切的答案。希望下一个被困在这个问题上的人能在解决问题的道路上得到一个提速,通过我对我的工作的描述。

这就是我解决问题的方式,可能会对你有所帮助

默认情况下,当使用匿名身份验证时,IIS对虚拟目录使用名为
IUSR
的本地用户它不使用应用程序标识,如果使用
procmon
,这一点应该很明显

如何强制它使用应用程序标识

简单,在IIS管理器下:

1) 转到身份验证

2) 编辑“匿名身份验证”

3) 选择“应用程序池标识”

4) 重新启动IIS&它应该可以工作

PS也是如此:
Set WebConfigurationProperty-filter/system.WebServer/security/authentication/AnonymousAuthentication-name username-value”“


此链接包含优点/缺点:

当我访问网站时,会弹出用户名/密码提示。但是,即使我输入了正确的凭据,它也不起作用。注意这两台服务器不是同一个域的一部分。出于某种原因,filemon没有在共享计算机上显示与该文件相关的任何内容。事件查看器显示,ASPNET对网络共享上的web.config文件没有权限。我如何授予server1上的本地ASPNET用户对server2的访问权限?您是否也可以在该服务器上创建ASPNET帐户并分配相关权限?您也可以尝试在域帐户下运行ASP.NET应用程序。最终会有好运吗?我现在正面临着同样的问题。