# ASP.NET Core Universal Player 集成 下载 .NET 10 示例,配置服务器凭据、验证用户身份,并通过受保护的播放接口嵌入 DRM-X 6.0 Universal Player。 播放授权的流程 您的后端决定谁可以观看。DRM-X 提供播放授权,播放器使用该授权请求 DRM 许可证。 - 01**观看用户** 登录您的服务并请求播放视频。 - 02**您的后端** 检查用户的购买记录、订阅状态或其他观看权限。 - 03**DRM-X** 应用所选播放规则,返回播放配置和授权信息。 - 04**播放器** 使用返回的授权信息,请求播放所需的 DRM 许可证。 您的后端判断用户是否有权观看,DRM-X 执行签名授权中的播放策略。加密媒体与 DRM 许可证通过各自的服务传送给播放器。 ## 开始之前[#](#requirements) 先在 DRM-X 6.0 中发布加密视频并复制 Content ID,再创建具有 license-tokens:create 权限的服务器集成凭据。Site ID、Site Key 和 Access Key 保存在服务器配置中,浏览器只接收短期播放授权数据。 学习网站应使用 HTTPS。HTTP localhost 仅适合同一台电脑上的测试,HTTP 局域网地址不具备浏览器 DRM 所需的安全上下文。请使用受支持的浏览器和实际内容进行验证。 ## 运行 .NET 10 示例[#](#run) 下载并解压 ASP.NET Core 源码 ZIP,进入 aspnet 目录,配置下列服务器环境变量,再运行 dotnet run。在同一台电脑上打开 http://127.0.0.1:8087,并在 Program.cs 中选择与已发布加密输出包匹配的可信 LicensePolicyTemplate。 DRMX_LOCAL_DEMO=1 用于明确启用本地演示身份。正式部署前应移除该演示中间件和开关,包括通过本机反向代理部署的情况。实际凭据应由受保护的主机配置或密钥管理服务提供。 [下载 ASP.NET Core 源码](https://docs.drm-x.com/downloads/integrations/20260921.4/drm-x6-aspnet-core-integration-example-20260921.4-d012ba7e5009-source.zip) ``` $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 应用[#](#existing-app) 将 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 时需要相应扩展服务器映射。 ``` ``` ## 验证应用[#](#verify) 在解压后的仓库根目录运行 dotnet run --project tests/DrmX.AspNet.Acceptance.csproj。17 项 HTTP 检查覆盖身份认证、来源、内容与类型绑定、服务器控制的策略和身份、权限撤销及上游错误;DRM-X 响应使用模拟数据。之后应使用自己的已发布内容验证实际加密播放、Stop、续期及所支持的浏览器。 [集成源码下载](https://docs.drm-x.com/zh-Hans/integrations/source-downloads) · [Universal Player Web 指南](https://docs.drm-x.com/zh-Hans/sdk/web) · [授权策略](https://docs.drm-x.com/zh-Hans/license-service/policies) · [教育视频 DRM 保护](https://multi-drm.drm-x.com/zh-Hans/solutions/education) · [Multi-DRM 保护](https://multi-drm.drm-x.com/zh-Hans/products/multi-drm)