IIS5正在SERVER1上运行。
IIS中的一个虚拟目录myfiles指向“另一台计算机上的共享位置”,// SERVER2 / myfilesshare
当我尝试访问该页面时: http://SERVER1/myfiles
...我收到错误:
您无权查看此页面
HTTP 401.1 - 未经授权:登录失败
互联网信息服务
我已经在IIS中检查了“Connect As ...”设置。我用来访问共享的凭据是正确的 - 它们在连接到Windows资源管理器中的共享时工作,但不能通过IIS虚拟目录工作。 我已尝试在SERVER2中的文件夹上向Everyone授予完全权限,但没有运气。
有什么想法吗?
答案 0 :(得分:7)
这就是我解决问题的方法,可能对你有帮助。
默认情况下,IIS在使用匿名身份验证时会将名为IUSR
的本地用户用于虚拟目录。 它不使用应用程序标识,如果您使用procmon
,这应该很明显。
如何强制它使用应用程序标识?
很容易,在IIS经理下:
1)转到身份验证
2)编辑“匿名身份验证”
3)选择“应用程序池标识”
4)重启IIS&它应该工作。
与PS完成相同:Set-WebConfigurationProperty -filter /system.WebServer/security/authentication/AnonymousAuthentication -name username -value ""
答案 1 :(得分:2)
许可问题可能很棘手。尝试在“其他计算机”上运行 filemon 可以在此处下载:http://technet.microsoft.com/en-us/sysinternals/bb896642.aspx (这不是一个很大的应用程序,只是一个很小的轻量级工具)
启动filemon后,停止监控进程(我相信在启动应用程序时默认启用它),清除已记录的数据,为您无法访问的文件夹创建过滤器。启动监控过程。请求您的网页。停止监视进程并在filemon中查找“拒绝访问”消息。找到后,filemon还会提到尝试访问的实际用户的名称。这可能有助于您找到解决方案。
在使用Windows Server 2008时,您需要 processmon :http://technet.microsoft.com/en-us/sysinternals/bb896645.aspx
答案 2 :(得分:1)
想象一下,无论出于何种原因,您希望IIS服务器访问文件服务器上的共享并且它们不在同一个域中。
如果您可以关注并让它为您工作(我已经使用IIS 7完成了Win2008-R1 32位文件服务器和64位Win2008-R2),那么您应该在任何情况下都处于良好状态。
aspnet_regiis -ga MyAccount
授予本地帐户访问IIS内核的权限使用可测试/验证的内容。关键是使用Service Account
(域或其他)授权委托,并让IIS使用您希望它使用的帐户而不是本地服务器或网络服务。
这花了我一整天才弄明白。 StackOverflow和其他互联网资源中的各种线程帮助我找到了各种资源,但没有在任何地方找到我的确切答案。希望下一个坚持这个问题的人会在解决这条路的过程中获得速度提升,我的描述对我有用。
答案 3 :(得分:0)
尝试在虚拟目录安全性选项卡上启用Windows身份验证(在IIS中)。