DRM-X 6.0 鸽子和橄榄枝标志DRM-X 6.0文档
◎ 简体中文

ASP.NET Core Universal Player 集成

下载 .NET 10 示例,配置服务器凭据、验证用户身份,并通过受保护的播放接口嵌入 DRM-X 6.0 Universal Player。

查看 Markdown在线示例更新于 2026-09-21

播放授权的流程

您的后端决定谁可以观看。DRM-X 提供播放授权,播放器使用该授权请求 DRM 许可证。

  1. 观看用户

    登录您的服务并请求播放视频。

  2. 您的后端

    检查用户的购买记录、订阅状态或其他观看权限。

  3. DRM-X

    应用所选播放规则,返回播放配置和授权信息。

  4. 播放器

    使用返回的授权信息,请求播放所需的 DRM 许可证。

您的后端判断用户是否有权观看,DRM-X 执行签名授权中的播放策略。加密媒体与 DRM 许可证通过各自的服务传送给播放器。

开始之前#

先在 DRM-X 6.0 中发布加密视频并复制 Content ID,再创建具有 license-tokens:create 权限的服务器集成凭据。Site ID、Site Key 和 Access Key 保存在服务器配置中,浏览器只接收短期播放授权数据。

学习网站应使用 HTTPS。HTTP localhost 仅适合同一台电脑上的测试,HTTP 局域网地址不具备浏览器 DRM 所需的安全上下文。请使用受支持的浏览器和实际内容进行验证。

运行 .NET 10 示例#

下载并解压 ASP.NET Core 源码 ZIP,进入 aspnet 目录,配置下列服务器环境变量,再运行 dotnet run。在同一台电脑上打开 http://127.0.0.1:8087,并在 Program.cs 中选择与已发布加密输出包匹配的可信 LicensePolicyTemplate。

DRMX_LOCAL_DEMO=1 用于明确启用本地演示身份。正式部署前应移除该演示中间件和开关,包括通过本机反向代理部署的情况。实际凭据应由受保护的主机配置或密钥管理服务提供。

下载 ASP.NET Core 源码

$env:DRMX_PLAYBACK_SITE_ID = "your-environment-uuid"
$env:DRMX_PLAYBACK_SITE_KEY = "drmx_your-client-id"
$env:DRMX_PLAYBACK_ACCESS_KEY = "drmx_secret_your-access-key"
$env:DRMX_CONTENT_ID = "your-published-content-id"
$env:DRMX_LOCAL_DEMO = "1"
dotnet run

接入现有 ASP.NET Core 应用#

将 DrmXPlaybackEndpoint.cs 复制到服务器项目,通过 AddDrmXPlayback 注册仅保存在服务器的凭据和策略。使用有效购买、订阅或课程记录实现 IDrmXContentEntitlement。检查会收到 ClaimsPrincipal、Content ID、内容类型和 CancellationToken;无权限、已到期或已撤销时返回 false。

注册正常的身份认证与授权中间件,然后调用 MapDrmXPlaybackSession().RequireAuthorization()。接口从已认证用户的 NameIdentifier 声明获取身份,并要求同源 Origin 请求头、JSON 请求及已授权的匹配内容类型。使用可信反向代理配置,让应用正确识别公共 HTTPS 协议与主机名。

加载示例页面中的经验证 Shaka 与 Universal Player 脚本,再通过 content-id 和 session-endpoint 嵌入 Web Component。播放器页面与会话接口应保持同源。示例仅授权一个已配置的 VOD Content ID;添加 Live DRM 时需要相应扩展服务器映射。

<drmx-universal-player content-id="your-published-content-id"
  content-type="vod" session-endpoint="/api/drmx/playback-session">
</drmx-universal-player>

验证应用#

在解压后的仓库根目录运行 dotnet run --project tests/DrmX.AspNet.Acceptance.csproj。17 项 HTTP 检查覆盖身份认证、来源、内容与类型绑定、服务器控制的策略和身份、权限撤销及上游错误;DRM-X 响应使用模拟数据。之后应使用自己的已发布内容验证实际加密播放、Stop、续期及所支持的浏览器。

集成源码下载 · Universal Player Web 指南 · 授权策略 · 教育视频 DRM 保护 · Multi-DRM 保护