HTML 5 个音频,带有 src 到带有凭据的虚拟目录

HTML 5 audio with src to virtual directory with credentials

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

我已将 html 5 个音频控件添加到我的 table 单元格中,以便用户无需下载即可播放音频文件 - 实际上,我不希望他们能够下载文件完全没有。

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

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

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

有什么办法可以克服这个问题吗?不幸的是,向所有用户授予对该目录的访问权限是不可能的。将应用程序池身份更改为同一特定用户也没有任何结果。第二个文件夹的应用程序用户和用户帐户都在同一个域中。

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