首页 > 解决方案 > 带有 src 的 HTML 5 音频到带有凭据的虚拟目录

问题描述

我有一个 asp.net 应用程序,它执行以下操作:从 DB 加载有关音频文件(文件名、路径等)的数据,并将它们显示在页面上的表格中。应用程序使用 Windows 身份验证(无法更改)。

我在表格单元格中添加了 html 5 音频控件,以便用户无需下载即可播放音频文件 - 实际上,我根本不希望他们能够下载文件。

音频文件来自两个网络共享目录 - 一个可供所有域用户访问,第二个仅供特定用户访问。音频控制要求 src 是一个相对 url - 好的,很好,所以我去了 IIS 管理器并在我的应用程序下创建了两个虚拟目录。对于第二个受高度保护的目录,我设置了应该有助于我的应用程序访问文件的凭据。

结果对我来说似乎很奇怪:用户看到预加载的第一个(可访问)目录中的音频文件并且可以播放它们;用户无法预加载,也无法使用预设凭据播放第二个目录中的文件。

问题绝对不在于音频 src 本身——它的格式正确。似乎 IIS 试图在当前域用户的凭据下访问第二个虚拟目录中的数据,而不是在文件夹设置中设置登录名和密码的那个。

有没有办法克服这个问题?不幸的是,向所有用户授予对该目录的访问权限并不是一个机会。将应用程序池标识更改为同一特定用户也没有结果。第二个文件夹的应用程序用户和用户帐户都在同一个域中。

标签: asp.nethtml5-audioiis-8virtual-directory

解决方案


IIS 通过应用程序池身份访问文件而不是登录用户。因此,当您运行具有网络共享目录的应用程序时,请将应用程序池标识更改为有权访问两者的域用户。然后您可以通过授权规则限制登录用户权限。


推荐阅读