仅为登录用户验证视频

Authenticate Videos for logged in users only

我有一个 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>

我想要的是不要在 src 中设置 URL,因为这将允许任何人获取和共享 link,我想防止这种情况发生。只有授权用户才能播放该视频,拥有 link.

权限的任何人都无法播放

有没有办法阻止 link 的任何人播放视频?也许我每次都让视频 URL 发生变化(我该怎么做)?有没有更简单的方法?

编辑 1:

我使用首先验证用户已登录的操作控制器方法进行身份验证(更多详细信息 here)。它确实有效,但出现了第二个问题,如果用户登录,he/she 只需将 link(来自视频标签的来源)复制到浏览器中即可下载视频。有办法解决这个问题吗?

编辑 2:

终于可以正常使用了。我将内容类型(在之前的 link 中)从 "attachment" 更改为 "video/mp4",如下所示:

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

感谢@kspearrin

只需通过控制器操作流式传输视频,而不是直接从磁盘链接文件。这将使您能够控制访问和验证请求。

您可以按照 this link 来实现(只需添加用户登录的身份验证)

一定要锁定磁盘上的文件,这样它只能通过操作访问,而不能被猜测文件名的人访问。

Here 是锁定文件的一种方法