Tutorial: Mengontrol Akses Cetak dengan Doconut
8/21/2026

Tutorial: Mengontrol Akses Cetak dengan Doconut

Panduan langkah demi langkah untuk pencetakan Doconut, otorisasi milik aplikasi, kontrol penampil, dan pengujian tanpa bergantung pada potongan API yang dibuat-buat.

Katalog fitur resmi katalog fitur Doconut mencantumkan pencetakan melalui peramban dan ekspor PDF sebagai kemampuan penampil. Mengontrol akses ke keduanya masih memerlukan dua keputusan terpisah: apakah Doconut menampilkan aksi yang relevan dan apakah aplikasi host mengotorisasi operasi tersebut untuk pengguna dan dokumen saat ini.

Jalur cetak dokumen yang berakhir pada gerbang otorisasi yang dikontrol
Jalur cetak dokumen yang berakhir pada gerbang otorisasi yang dikontrol

Untuk kontrol tepat yang didukung oleh build yang Anda pasang, mulailah dengan dokumentasi Doconut dan contoh paket yang tersedia dari halaman halaman unduhan Doconut resmi. Jangan menyalin kunci konfigurasi atau kode sumber dari versi yang tidak terkait atau artikel yang belum diverifikasi.


1. Definisikan Kebijakan Cetak Terlebih Dahulu

Tuliskan siapa yang boleh mencetak dan dalam kondisi apa sebelum mengubah bilah alat. Kebijakan yang berguna menjawab pertanyaan seperti:

  • Apakah pencetakan diizinkan untuk setiap penampil, hanya peran tertentu, atau dokumen spesifik?
  • Apakah keputusan bergantung pada penyewa, status kasus, klasifikasi dokumen, atau kedaluwarsa?
  • Apakah diperlukan watermark pada output yang dapat dicetak?
  • Haruskah peristiwa cetak diaudit?
  • Dapatkah pengguna mencetak revisi dokumen yang lebih lama?
  • Apa yang harus terjadi ketika izin berubah sementara pratinjau masih terbuka?

Hindari satu Boolean global ketika aturan sebenarnya bersifat kontekstual. Modelkan pencetakan sebagai operasi tersendiri sehingga dapat diotorisasi secara independen dari penampilan dan pengunduhan.

2. Pisahkan Status UI dari Otorisasi

Halaman host dapat memutuskan apakah menampilkan kontrol cetak setelah menerima hasil izin milik aplikasi. Itu meningkatkan kejelasan bagi pengguna yang tidak dapat mencetak.

Namun, menyembunyikan kontrol bukanlah batas otorisasi. Pengguna masih dapat memanggil titik akhir yang diketahui secara langsung, memutar ulang permintaan sebelumnya, atau memicu pencetakan peramban pada konten yang terlihat. Setiap rute server yang menghasilkan output yang dapat dicetak harus menegakkan kebijakan yang sama.

Gunakan status yang berbeda di UI:

StatusPerilaku penampilPerilaku server
Pencetakan diizinkanTampilkan aksi cetak yang didukungOtorisasi dan buat output yang diminta
Pencetakan ditolakSembunyikan atau nonaktifkan aksi dengan penjelasan jelasKembalikan respons terlarang
Kebijakan tidak diketahuiJaga aksi tidak tersedia sementara izin dimuatJangan buat output
Sesi kedaluwarsaMinta pengguna untuk masuk kembaliTolak permintaan usang

3. Lindungi Titik Akhir Cetak

Lindungi operasi aplikasi yang memanggil pencetakan atau mengembalikan output yang dapat dicetak. Keputusan otorisasi harus mempertimbangkan keanggotaan penyewa, kepemilikan, klasifikasi, status alur kerja, dan revisi dokumen. Resolusi dokumen harus dilakukan di server alih-alih menerima jalur atau URL penyimpanan yang diberikan klien.

Jika aplikasi Anda mencetak melalui rute khusus penampil alih-alih membuat PDF, terapkan otorisasi yang sama sebelum memanggil rute tersebut.

4. Konfigurasikan Versi Penampil yang Terpasang

Setelah aturan server ada, konfigurasikan UI Doconut menggunakan opsi tepat yang didokumentasikan untuk paket dan berkas contoh yang dikirim bersama versi Anda. Demo langsung demo live Doconut memungkinkan Anda mengamati perilaku penampil yang didukung sebelum berkomitmen pada integrasi tertentu. Verifikasi:

  1. Di mana opsi diatur: konfigurasi server, model tampilan, atau inisialisasi klien.
  2. Apakah ia menyembunyikan item bilah alat, menonaktifkan aksi, atau memengaruhi output yang dihasilkan.
  3. Apakah nilai berlaku per instansi penampil atau secara global.
  4. Apakah cetak dan ekspor merupakan operasi terpisah.
  5. Apakah pembaruan mengubah nama opsi atau nilai baku.

Anggap contoh resmi sebagai sumber kebenaran. Nama properti yang tampak masuk akal tidak cukup sebagai bukti bahwa penampil yang terpasang mengenalinya.

5. Tangani Pencetakan Peramban dengan Jujur

Pengaturan penampil tidak dapat menjamin bahwa informasi yang terlihat tidak akan pernah dicetak atau ditangkap. Peramban dapat mencetak halaman host, dan pengguna dapat mengambil tangkapan layar atau foto. Intersepsi keyboard dan CSS khusus cetak dapat meningkatkan pengalaman yang diharapkan, tetapi keduanya dapat dihindari dengan cara sisi klien.

Jika halaman host tidak seharusnya menghasilkan salinan kertas yang berguna, aplikasi Anda dapat menggunakan presentasi khusus cetak untuk menggantikan pratinjau dengan pesan penjelasan. Jaga perilaku halaman host ini terpisah dari kontrol penampil yang didokumentasikan oleh Doconut.

Jangan menyebut ini sebagai perlindungan dokumen. Gunakan rendering sisi server, otorisasi, ekspor terkontrol, dan watermark yang terlihat ketika penilaian risiko Anda memerlukan pencegahan yang lebih kuat.

6. Jaga Pengunduhan, Ekspor, dan Cetak Terpisah

Pengguna dan pengembang sering memperlakukan ini sebagai satu saklar “hanya-baca”, padahal mereka mewakili aliran data yang berbeda:

  • Lihat menampilkan konten yang dirender.
  • Unduh mengembalikan sumber atau berkas lain yang disimpan.
  • Ekspor membuat format turunan.
  • Cetak menghasilkan representasi yang dapat dicetak atau memanggil pencetakan peramban.

Otorisasi setiap operasi secara eksplisit. Seorang pengguna yang tidak dapat mencetak mungkin masih diizinkan mengunduh, atau sebaliknya. Bilah alat Anda harus mencerminkan keputusan server, bukan mendefinisikannya.

7. Tambahkan Peristiwa Audit yang Berguna

Jika pencetakan bersifat sensitif, catat keputusan tanpa mencatat dokumen itu sendiri. Sebuah peristiwa dapat mencakup pengguna, penyewa, pengidentifikasi dokumen, revisi, hasil kebijakan, cap waktu, dan ID korelasi.

Catat baik upaya berhasil maupun yang ditolak. Jika layanan cetak membuat berkas sementara, catat juga apakah pembersihannya selesai. Simpan jalur berkas, token, judul dokumen yang mengandung data pribadi, dan konten yang dapat dicetak di luar log rutin.

8. Uji Lebih Dari Sekadar Tombol yang Hilang

Bilah alat hanyalah asersi pertama. Tambahkan pengujian untuk seluruh operasi:

Pengguna yang Diotorisasi

  • Aksi cetak yang dimaksud terlihat.
  • Permintaan cetak berhasil untuk dokumen yang diizinkan.
  • Revisi yang tepat digunakan.
  • Tanda wajib muncul pada output yang dihasilkan.
  • Peristiwa audit mencatat keberhasilan.

Pengguna yang Tidak Diotorisasi

  • Aksi tidak ada atau dinonaktifkan.
  • Permintaan langsung ke rute cetak mengembalikan respons terlarang.
  • Mengubah ID dokumen tidak melewati aturan.
  • URL yang disalin dari sesi yang diotorisasi tidak dapat digunakan kembali secara tidak semestinya.
  • Penolakan tidak mengungkapkan apakah penyewa lain memiliki dokumen tersebut.

Perubahan Status

  • Izin yang dicabut selama sesi ditegakkan pada permintaan cetak berikutnya.
  • Sesi yang kedaluwarsa tidak dapat mencetak.
  • Dokumen yang dihapus atau digantikan menghasilkan kesalahan terkontrol.
  • Output cetak sementara mengikuti aturan retensi yang dikonfigurasi.

Otomasi peramban dapat memverifikasi status terlihat dan kode respons. Pengujian integrasi harus memverifikasi evaluasi kebijakan dan otorisasi tingkat dokumen secara independen.

Pertanyaan Umum

Apakah menyembunyikan tombol cetak menghentikan pintasan cetak peramban?
Tidak. Itu hanya menghapus aksi penampil yang dimaksud jika penampil yang terpasang mengimplementasikan perilaku tersebut. Pencetakan peramban dan penangkapan layar memerlukan pertimbangan terpisah dan tidak dapat sepenuhnya dicegah oleh kode sisi klien.

Haruskah izin cetak dimasukkan dalam URL penampilan?
Lebih baik keputusan otorisasi sisi server yang terkait dengan pengguna yang terautentikasi, dokumen, dan operasi. Jika referensi sementara membawa izin, batasi ruang lingkupnya, lindungi dari log dan perujuk, serta validasi kembali aksi sensitif.

Apakah menonaktifkan cetak cukup untuk dokumen rahasia?
Tidak. Itu hanyalah satu kontrol kegunaan atau pencegahan. Alur kerja rahasia juga memerlukan perlindungan penyimpanan, otorisasi tingkat objek, ekspor terkontrol, aturan retensi, pemantauan, dan model risiko residual yang diterima.

Kesimpulan

Implementasi kontrol cetak Doconut yang dapat dipercaya dimulai dari server dan berakhir di antarmuka. Definisikan kebijakan, lindungi operasi, konfigurasikan hanya opsi yang didokumentasikan untuk penampil yang terpasang, jelaskan hasilnya kepada pengguna, dan uji permintaan langsung serta visibilitas bilah alat. Gunakan halaman fitur resmi, dokumentasi, unduhan, dan demo sebagai sumber implementasi, bukan membuat ulang kode produk dalam artikel.