Java, Spring Boot dan Vue
Pasang starter Spring Boot dan hubungkan ContentEntitlement ke repositori isi dan pengguna yang ada. Tambahkan Vue hanya jika antarmuka Anda menggunakannya.
SDK versi pratinjau, contoh aplikasi, dan kode sumber. Pertahankan struktur folder hasil ekstraksi.
Semua platform dan kit lengkap · Pahami proses integrasi
Tiga tempat yang Anda atur#
- Atur
application.properties / server environmentAtur DRMX_SITE_ID, DRMX_SITE_KEY, DRMX_ACCESS_KEY, dan ID instans.
- Otorisasi
DrmxAccess.java dan repositori Anda
Implementasikan ContentEntitlement dengan pemeriksaan izin pengguna atas video saat ini.
- Rute
PlayerController.java / controller Anda
Gunakan pencarian berizin yang sama untuk metadata halaman dan permintaan sesi.
1. Pasang bundel JAR#
Gunakan Java 21 dan Maven. Dari akar kit yang diekstrak:
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.pomContoh menggunakan Spring Boot 3.5. Pada aplikasi yang ada, tambahkan dependensi starter dalam examples/sdk/java/pom.xml. Maven mungkin mengunduh dependensi framework biasa.
2. Putar satu video secara lokal#
Di examples/sdk/java/src/main/java/com/haihaisoft/drmx/LocalDemo.java, ganti your-published-content-id. Konfigurasikan ketiga kredensial dan atur DRMX_DEMO_PASSWORD menjadi kata sandi uji lokal dengan minimal 12 karakter.
cd examples/sdk/java
mvn spring-boot:run -Dspring-boot.run.profiles=local-demoBuka http://127.0.0.1:8107/. Login sebagai drmx-learner; drmx-denied adalah akun uji tanpa izin akses. Database sementara dalam memori direset saat dimulai ulang. Ini kode aplikasi demo, bukan skema wajib untuk produksi.
3. Hubungkan basis data asli Anda#
Implementasikan bean di DrmxAccess.java. repositori Anda melakukan pencarian dan pemeriksaan izin; berikut ini adalah pengganti ilustratif:
@Bean
ContentEntitlement contentEntitlement(CustomerCatalog catalog) {
return (userId, videoId) -> catalog.findAuthorizedVideo(userId, videoId)
.map(video -> new AuthorizedVideo(
video.drmxContentId(), video.contentType(), video.policy()));
}Kembalikan Optional.empty() saat akses ditolak. Hubungkan PlayerController ke repositori yang sama dan pertahankan perbandingan tepat antara konten dan jenis yang diminta. Pertahankan Spring Security dan perlindungan CSRF normal. Pengontrol contoh menggunakan ID situs numerik; jika aplikasi memakai UUID, sesuaikan parameter dan repositori secara bersamaan.
4. Hubungkan antarmuka Anda#
Halaman HTML contoh memperlihatkan Web Component bersama. Jika menggunakan Vue, gunakan integrations/web-components/DrmxPlayer.vue beserta berkas runtime di sebelahnya. Kirim metadata konten yang diizinkan dan URL sesi dengan origin yang sama dari pengontrol. Nonaktifkan profil local-demo dalam produksi.
Periksa sebelum digunakan dalam produksi#
- Masuk sebagai pengguna yang diperbolehkan dan memutar video yang diterbitkan dalam peramban yang didukung.
- Uji pengguna yang belum login dan belum membayar, lalu cabut izin atau buat izin kedaluwarsa. Permintaan sesi baru harus ditolak.
- Ubah Content ID di browser atau ID video situs. Server harus memeriksa pilihan baru.
- Tetapkan origin HTTPS publik yang tepat, pertahankan perlindungan sesi/CSRF dari framework, dan nonaktifkan kode identitas demo.
Sesi dan lisensi DRM yang ada memiliki masa berlaku sendiri. Permintaan baru memeriksa perubahan izin; perubahan tersebut tidak menghapus lisensi yang sudah diterbitkan.
DRM-X 6.0