Java, Spring Boot và Vue
Cài Spring Boot starter và kết nối ContentEntitlement với lớp truy cập người dùng, nội dung hiện có. Chỉ thêm Vue nếu frontend đang dùng Vue.
SDK bản xem trước, ví dụ ứng dụng và mã nguồn. Giữ cấu trúc thư mục sau giải nén.
Mọi nền tảng và bộ đầy đủ · Hiểu quy trình tích hợp
Ba vị trí bạn cần tùy chỉnh#
- Cấu hình
application.properties / server environmentĐặt DRMX_SITE_ID, DRMX_SITE_KEY, DRMX_ACCESS_KEY và ID phiên bản ứng dụng.
- Cấp quyền
DrmxAccess.java và kho dữ liệu của bạn
Triển khai ContentEntitlement để kiểm tra quyền hiện tại của người dùng đối với video.
- Định tuyến
PlayerController.java / controller của bạn
Dùng cùng truy vấn có kiểm tra quyền cho metadata trang và yêu cầu phiên.
1. Cài JAR đi kèm#
Dùng Java 21 và Maven. Chạy từ thư mục gốc bộ tích hợp đã giải nén:
mvn install:install-file -Dfile=packages/maven/drmx-spring-boot-starter-1.3.0-preview.13.jar -DpomFile=packages/maven/drmx-spring-boot-starter-1.3.0-preview.13.pomVí dụ dùng Spring Boot 3.5. Trong ứng dụng hiện có, thêm phụ thuộc starter được nêu trong examples/sdk/java/pom.xml. Maven có thể tải các phụ thuộc thông thường của framework.
2. Phát một video trên máy cục bộ#
Trong examples/sdk/java/src/main/java/com/haihaisoft/drmx/LocalDemo.java, thay your-published-content-id. Cấu hình ba thông tin xác thực và đặt DRMX_DEMO_PASSWORD thành mật khẩu thử cục bộ có ít nhất 12 ký tự.
cd examples/sdk/java
mvn spring-boot:run -Dspring-boot.run.profiles=local-demoMở http://127.0.0.1:8107/. Đăng nhập bằng drmx-learner; drmx-denied là tài khoản thử bị từ chối truy cập. Cơ sở dữ liệu tạm trong bộ nhớ được đặt lại khi khởi động lại. Đây là mã ứng dụng demo, không phải cấu trúc dữ liệu bắt buộc cho vận hành.
3. Kết nối cơ sở dữ liệu thực tế#
Triển khai bean trong DrmxAccess.java. Lớp truy cập dữ liệu của bạn thực hiện truy vấn và kiểm tra quyền; dưới đây là ví dụ thay thế:
@Bean
ContentEntitlement contentEntitlement(CustomerCatalog catalog) {
return (userId, videoId) -> catalog.findAuthorizedVideo(userId, videoId)
.map(video -> new AuthorizedVideo(
video.drmxContentId(), video.contentType(), video.policy()));
}Trả về Optional.empty() nếu bị từ chối. Kết nối PlayerController với cùng lớp truy cập dữ liệu và giữ so sánh chính xác nội dung, loại được yêu cầu. Giữ Spring Security và bảo vệ CSRF thông thường. Controller ví dụ dùng ID dạng số của trang; nếu ứng dụng dùng UUID, chỉnh cả tham số lẫn lớp truy cập dữ liệu.
4. Kết nối giao diện frontend#
Trang HTML ví dụ thể hiện Web Component dùng chung. Nếu dùng Vue, dùng integrations/web-components/DrmxPlayer.vue và các tệp runtime bên cạnh. Truyền metadata nội dung được phép và URL phiên cùng origin từ controller. Tắt hồ sơ local-demo trong vận hành thực tế.
Kiểm tra trước khi đưa vào vận hành#
- Đăng nhập bằng người dùng được phép và phát video đã xuất bản trên trình duyệt được hỗ trợ.
- Thử người chưa đăng nhập và chưa thanh toán, rồi thu hồi quyền hoặc cho quyền hết hạn. Yêu cầu phiên mới phải bị từ chối.
- Thử đổi Content ID trong trình duyệt hoặc ID video của trang. Máy chủ phải kiểm tra lựa chọn mới.
- Đặt đúng origin HTTPS công khai, giữ bảo vệ phiên/CSRF của framework và tắt mã danh tính demo.
Phiên và giấy phép DRM hiện có có thời hạn riêng. Yêu cầu mới kiểm tra thay đổi quyền nhưng không xóa giấy phép đã cấp.
DRM-X 6.0