通过身份验证-IIS虚拟目录
(Intranet)我正在尝试设置一个网站,该网站将提供来自网络共享(\\servername\folder\file)的文件。只有通过active directory组访问网络文件夹的用户才能通过网站下载文件 这是我现在的设置: 站点: AppPool:DefaultAppPool 身份验证:Windows身份验证 子网站: AppPool:DefaultAppPool 身份验证:Windows身份验证 虚拟目录: 物理路径:\\servername\Folder 物理路径凭据:应用程序用户(通过身份验证) 登录类型:明文 当我尝试使用如下链接导航到站点时,会反复提示我输入凭据,即使我输入的凭据应该是有效的。在虚拟目录设置中,如果我将其从pass-through更改为“specific user”,它可以工作,但会绕过active Directory组的安全性 我在这里配置的东西不正确吗通过身份验证-IIS虚拟目录,iis,active-directory,windows-authentication,Iis,Active Directory,Windows Authentication,(Intranet)我正在尝试设置一个网站,该网站将提供来自网络共享(\\servername\folder\file)的文件。只有通过active directory组访问网络文件夹的用户才能通过网站下载文件 这是我现在的设置: 站点: AppPool:DefaultAppPool 身份验证:Windows身份验证 子网站: AppPool:DefaultAppPool 身份验证:Windows身份验证 虚拟目录: 物理路径:\\servername\Folder 物理路径凭据:应用程序用户
注意,我已经看过了恐怕指定用户是实现这一点的唯一方法 我构建了一个共享文件夹,如\\server\shared。 在监视NTLM身份验证时,我还注意到,如果指定要通过的用户,则IIS将尝试使用大写\\SERVER\SHARED访问路径,并拒绝访问 但是,如果我为身份验证指定用户,NTLM工作正常,工作进程将不会执行相同的操作。我还注意到工作和非工作操作的用户标识是相同的
我在工作站和域环境中都试过了。但是,NTLM和Kerberos的结果是相同的。因此,我认为您可能需要接受特定用户作为解决方法。恐怕指定用户是实现这一点的唯一方法 我构建了一个共享文件夹,如\\server\shared。 在监视NTLM身份验证时,我还注意到,如果指定要通过的用户,则IIS将尝试使用大写\\SERVER\SHARED访问路径,并拒绝访问 但是,如果我为身份验证指定用户,NTLM工作正常,工作进程将不会执行相同的操作。我还注意到工作和非工作操作的用户标识是相同的
我在工作站和域环境中都试过了。但是,NTLM和Kerberos的结果是相同的。因此,我认为您可能需要接受特定用户作为解决方法。有两种不同的身份验证:
这在IE中有效,但在Chrome中不起作用,因为Chrome专门禁用file://链接(除非您通过启用它)
另一个更复杂的选项是通过管道将文件传输到应用程序中。您的应用程序可以访问该文件并枚举共享权限,以查看用户是否有访问权限,如果有,则允许下载。但是NTFS权限是出了名的难以通过
或者干脆忽略共享权限,找到其他方法来确定此人是否应该拥有访问权限(例如,一个特定的安全组),而不是依赖共享权限。有两种不同的身份验证:
这在IE中有效,但在Chrome中不起作用,因为Chrome专门禁用file://链接(除非您通过启用它)
另一个更复杂的选项是通过管道将文件传输到应用程序中。您的应用程序可以访问该文件并枚举共享权限,以查看用户是否有访问权限,如果有,则允许下载。但是NTFS权限是出了名的难以通过
或者干脆忽略共享权限,找到其他方法来确定此人是否应该拥有访问权限(例如,一个特定的安全组),而不是依赖共享权限。我是否在物理路径的开头看到
\\
?这是另一台服务器上的路径吗?是的\\server\folder
等。这是网络驱动器的UNC路径/folder是在域帐户下运行的应用程序池?现在它是用ApplicationPoolIdentity
设置的,我相信这是一个本地计算机帐户,但即使我将其更改为域帐户,结果就是你试图让它使用creden
<a href="file://servername/Folder/somefile.txt">Download</a>