Аудио HTML 5 с src в виртуальный каталог с учетными данными

У меня есть приложение asp.net, которое делает следующее: загружает данные об аудиофайлах (имя файла, путь и т. д.) из БД и показывает их в таблице на странице. Приложение использует аутентификацию Windows (это нельзя изменить).

Я добавил элементы управления звуком html 5 в свои ячейки таблицы, чтобы пользователи могли воспроизводить аудиофайлы, не загружая их - на самом деле, я вообще не хочу, чтобы они могли загружать файлы.

Аудиофайлы поступают из двух общих сетевых каталогов - один доступен всем пользователям домена, второй доступен только конкретному пользователю. Управление звуком требует, чтобы src был относительным URL-адресом — хорошо, хорошо, поэтому я пошел в диспетчер IIS и создал два виртуальных каталога в своем приложении. Для второго, высокозащищенного каталога я бы установил учетные данные, которые должны были помочь моему приложению получить доступ к файлам.

Результат мне кажется довольно странным: пользователи видят предварительно загруженными аудиофайлы из первой (доступной) директории и могут их воспроизводить; пользователи не могут предварительно загружать и воспроизводить файлы из второго каталога с предварительно заданными учетными данными.

Проблема точно не в самом audio src — он правильно сформирован. Похоже, что IIS пытается получить доступ к данным во втором виртуальном каталоге под учетными данными текущего пользователя домена, а не того, чей логин и пароль были установлены при настройке папки.

Есть ли способ преодолеть эту проблему? К сожалению, предоставить доступ к этому каталогу всем пользователям не получится. Изменение идентификатора пула приложений для того же конкретного пользователя также не дало результатов. Пользователи приложения и учетная запись пользователя для второй папки находятся в одном домене.


person 26071986    schedule 22.06.2020    source источник


Ответы (1)


Файл доступа IIS через идентификатор пула приложений, а не пользователя входа. Поэтому, когда вы запускаете приложение с общим сетевым каталогом, измените идентификатор пула приложений на пользователя домена, у которого есть разрешение на доступ к обоим. Затем вы можете ограничить права пользователя на вход в систему с помощью правила авторизации.

person Jokies Ding    schedule 23.06.2020
comment
Спасибо, помогло - по крайней мере инспектор мне показывает, что файлы доступны, так что квест с IIS пройден :) Похоже, настоящая проблема в аудиокодеке, необходимом для воспроизведения этих wav. - person 26071986; 29.06.2020