2015-05-26 2 views
1

У меня есть div, который воспроизводит данное видео в нем. Вот HTML кодАутентификация только для зарегистрированных пользователей

<video id="tutorial_video" width="100%" height="100%"> 
     <source src='videoURL' type='video/mp4'> 
     Your browser does not support the video tag. 
    </video> 

То, что я хочу, не установить URL в СРК, так как это позволит никому взять и поделиться ссылкой, и я хочу, чтобы это предотвратить. Только авторизованные пользователи смогут воспроизводить видео, а не кто-либо со ссылкой.

Есть ли способ предотвратить доступ ко всем со ссылкой для воспроизведения видео? возможно, я каждый раз изменяю URL-адрес видео (как я могу это сделать)? Есть ли более простой способ?

Редактировать 1:

Я сделал проверку подлинности с помощью метода действия контроллера, который проверки сначала пользователь вошел в систему (более подробно here). Это сработало, но появляется вторая проблема, если пользователь входит в систему, он может загрузить видео, просто скопировав ссылку (из источника видеотега) в браузер. Есть ли способ исправить это?

Редакция 2:

Окончательно работает нормально. Я изменил тип содержимого (в том предыдущей ссылке) от «привязанности» к «видео/mp4» следующим образом:

context.HttpContext.Response.AddHeader("Content-Disposition", "video/mp4; filename=test.mp4"); 

Благодаря @kspearrin

+1

Вы можете транслировать видео файл через действие контроллера, а не служит непосредственно с диска. Затем вы можете проверить пользователя или перенаправить его на логин. – kspearrin

+0

Я просто использовал это, и он действительно работал, но он заставил пользователя загружать видео, если пользователь только что вошел в систему и вставил URL-адрес этой ссылки на действие контроллера в браузере. – Kasparov92

+1

Вы должны иметь возможность настроить тип контента, чтобы остановить его от загрузки и фактического потока. – kspearrin

ответ

0

Просто поток видео через действие контроллера вместо прямого связывание файла с диска. Это даст вам возможность контролировать доступ и аутентифицировать запрос.

Вы можете следить за this link для достижения этой цели (просто добавьте на него аутентификации, что пользователь вошел в систему)

Будьте уверены, чтобы заблокировать файл на диске, так что она может быть доступна только через действие, а не кто-то угадывает имя файла.

Here является одним из способов заблокировать файл вниз

+0

Другим способом блокировки файла будет использование файлового хранилища, такого как AWS S3 или Azure Blob Storage. Эти системы хранения дают вам возможность блокировать общедоступный доступ, но доставляют файл через аутентифицированный SDK. – kspearrin

Смежные вопросы