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

ASP.NET Framework 4.8 视频 DRM 集成

将 Windows/IIS 源码适配器添加到现有 ASP.NET Framework 应用,并接入每次请求使用的授权委托。

查看 Markdown在线示例更新于 2026-09-25
下载此平台集成包

包含预览版 SDK、应用示例和源码。请保留解压后的目录结构。

所有平台与完整集成包 · 了解集成流程

需要自定义的三个位置#

  1. 配置App_Code/DrmXPlayback.cs: Settings

    设置每次请求使用的内容查询和服务器管理的策略。

  2. 授权

    您的 Application_Start

    使用您自己的权限查询实现 ApplicationServices.Authorize。

  3. 嵌入

    Default.aspx 或现有页面

    复制播放器标记,并将请求路由到 Playback.ashx。

1. 将适配器添加到 Windows/IIS#

使用 .NET Framework 4.8 或 4.8.1。此集成提供源码,而非 NuGet SDK。在 Web Site 项目中复制 App_Code/DrmXPlayback.cs 和 Playback.ashx;在 Web Application/MVC 项目中,将 C# 文件作为应用源码编译。将相关 Web.config 设置与现有身份验证配置合并。

2. 测试一个 Content ID#

在 Settings 中设置 ContentId 和 Policy。设置服务器进程变量 DRMX_PLAYBACK_SITE_ID、DRMX_PLAYBACK_SITE_KEY、DRMX_PLAYBACK_ACCESS_KEY 和 DRMX_PUBLIC_ORIGIN。

# Local IIS Express only, after setting the three credentials:
$env:DRMX_PUBLIC_ORIGIN = "http://localhost:48087"
$env:DRMX_LOCAL_DEMO = "1"
& "$env:ProgramFiles/IIS Express/iisexpress.exe" "/path:$PWD" /port:48087 /systray:false

从 examples/aspnet-framework 运行,然后打开 http://localhost:48087/Default.aspx。IIS 会继承服务器环境变量。修改部署设置后,请回收应用程序池。

3. 接入现有权限系统#

在应用启动时设置委托。下方数据访问调用仅作示例:

ApplicationServices.Authorize = (userId, contentId, contentType) =>
    customerPermissions.CanWatch(userId, contentId, contentType);

处理程序读取经过身份验证的 HttpContext.User,优先使用 NameIdentifier,不存在时使用 Identity.Name。使用稳定的账号标识符。每次请求时,将选定的网站视频查询为对应的 Content ID;若查询需要视频选择参数,请同时在页面和处理程序 URL 中保留该参数。

4. 复用播放器标记#

从 Default.aspx 复制脚本标签和 Web Component。会话处理程序应保持同源;使用 IIS 虚拟目录时,请调整相对于应用的 URL。保留请求验证、响应 Content ID 绑定,以及应用的 CSRF/会话保护。部署前禁用 DRMX_LOCAL_DEMO。

上线前检查#

  • 以有权限的用户登录,并在支持的浏览器中播放已发布的视频。
  • 测试未登录和未付费用户,再测试权限被撤销或到期的情况。新的会话请求必须被拒绝。
  • 尝试修改浏览器中的 Content ID 或网站视频 ID。服务器必须检查新的选择。
  • 设置准确的公共 HTTPS 源,保留框架的会话/CSRF 保护,并禁用演示身份代码。

已有会话和 DRM 许可证具有各自的有效期。新请求会检查权限变更,但不会清除已经签发的许可证。