【发布时间】:2020-06-22 15:45:06
【问题描述】:
我有一个 asp.net 应用程序,它执行以下操作:从 DB 加载有关音频文件(文件名、路径等)的数据,并将它们显示在页面上的表格中。应用程序使用 Windows 身份验证(无法更改)。
我在表格单元格中添加了 html 5 音频控件,以便用户无需下载即可播放音频文件 - 实际上,我根本不希望他们能够下载文件。
音频文件来自两个网络共享目录 - 一个可供所有域用户访问,第二个仅供特定用户访问。音频控制要求 src 是一个相对 url - 好的,很好,所以我去了 IIS 管理器并在我的应用程序下创建了两个虚拟目录。对于第二个受高度保护的目录,我设置了应该有助于我的应用程序访问文件的凭据。
结果对我来说似乎很奇怪:用户看到预加载的第一个(可访问)目录中的音频文件并且可以播放它们;用户无法预加载,也无法使用预设凭据播放第二个目录中的文件。
问题绝对不在于音频 src 本身——它的格式正确。似乎 IIS 试图在当前域用户的凭据下访问第二个虚拟目录中的数据,而不是在文件夹设置中设置登录名和密码的那个。
有什么办法可以解决这个问题吗?不幸的是,向所有用户授予对该目录的访问权限并不是一个机会。将应用程序池标识更改为同一特定用户也没有结果。第二个文件夹的应用用户和用户帐户都在同一个域中。
【问题讨论】:
标签: asp.net html5-audio iis-8 virtual-directory