Resmi Doconut özellik kataloğu tarayıcı yazdırma ve PDF dışa aktarmayı görüntüleyici yetenekleri olarak listeler. Bunlara erişimi kontrol etmek hâlâ iki ayrı kararı gerektirir: Doconut'un ilgili eylemi gösterip göstermediği ve ana uygulamanın bu işlemi mevcut kullanıcı ve belge için yetkilendirip yetkilendirmediği.

Yüklü sürümünüzde desteklenen kesin kontroller için, Doconut belgeleri ve resmi Doconut indirme sayfası üzerinden temin edilebilen paketlenmiş örneklerle başlayın. Alakasız bir sürümden veya doğrulanmamış bir makaleden yapılandırma anahtarlarını veya kaynak kodunu kopyalamayın.
1. Önce Yazdırma Politikasını Tanımlayın
Yazdırma izni olanları ve hangi koşullarda olduğunu araç çubuğunu değiştirmeden önce yazın. Faydalı bir politika şu soruları yanıtlar:
- Yazdırma, her görüntüleyici için, yalnızca belirli roller için veya belirli belgeler için izinli mi?
- Karar, kiracı, dava durumu, belge sınıflandırması veya süresi dolma gibi faktörlere bağlı mı?
- Yazdırılabilir çıktıda bir filigran gerekli mi?
- Yazdırma olayları denetlenmeli mi?
- Bir kullanıcı daha eski bir belge revizyonunu yazdırabilir mi?
- Ön izleme açıkken izin değiştiğinde ne olması gerekir?
Gerçek kural bağlamsal olduğunda tek bir küresel Boolean'dan kaçının. Yazdırmayı, görüntüleme ve indirmeden bağımsız olarak yetkilendirilebilecek kendi işlemi olarak modelleyin.
2. UI Durumunu Yetkilendirmeden Ayırın
Ana sayfa, uygulama sahipliğindeki izin sonucunu aldıktan sonra bir yazdırma kontrolü gösterip göstermeyeceğine karar verebilir. Bu, yazdıramayan kullanıcılar için netliği artırır.
Ancak, bir kontrolü gizlemek yetkilendirme sınırı değildir. Bir kullanıcı hâlâ bilinen bir uç noktayı doğrudan çağırabilir, önceki bir isteği tekrarlayabilir veya görünür içerikte tarayıcı yazdırmasını tetikleyebilir. Yazdırılabilir çıktı üreten her sunucu rotası aynı politikayı uygulamalıdır.
UI'de farklı durumlar kullanın:
| Durum | Görüntüleyici davranışı | Sunucu davranışı |
|---|---|---|
| Yazdırma izinli | Desteklenen yazdırma eylemini göster | İzin ver ve istenen çıktıyı oluştur |
| Yazdırma reddedildi | Eylemi net bir açıklama ile gizle veya devre dışı bırak | Yasak yanıtı döndür |
| Politika bilinmiyor | İzin yüklenirken eylemi kullanılmaz tut | Çıktı oluşturma |
| Oturum süresi doldu | Kullanıcıdan yeniden kimlik doğrulaması iste | Eski isteği reddet |
3. Yazdırma Uç Noktasını Koruyun
Yazdırmayı tetikleyen veya yazdırılabilir çıktı döndüren uygulama işlemini koruyun. Yetkilendirme kararı, kiracı üyeliği, sahiplik, sınıflandırma, iş akışı durumu ve belge revizyonunu dikkate almalıdır. İstemci tarafından sağlanan bir yol veya depolama URL'si yerine belgeyi sunucuda çözün.
Uygulamanız bir PDF oluşturmak yerine görüntüleyiciye özgü bir rota üzerinden yazdırıyorsa, bu rotayı çağırmadan önce aynı yetkilendirmeyi uygulayın.
4. Yüklü Görüntüleyici Sürümünü Yapılandırın
Sunucu kuralı oluşturulduktan sonra, paket ve sürümünüzle birlikte gelen örnek dosyalar için belgelenen tam seçeneği kullanarak Doconut UI'yi yapılandırın. Doconut canlı demoları belirli bir entegrasyona karar vermeden önce desteklenen görüntüleyici davranışını gözlemlemenizi sağlar. Doğrulayın:
- Seçeneğin nerede ayarlandığı: sunucu yapılandırması, görünüm modeli veya istemci başlatması.
- Bir araç çubuğu öğesini gizleyip gizlemediği, bir eylemi devre dışı bırakıp bırakmadığı veya oluşturulan çıktıyı etkileyip etkilemediği.
- Değerin her görüntüleyici örneği için mi yoksa küresel olarak mı geçerli olduğu.
- Yazdırma ve dışa aktarmanın ayrı işlemler olup olmadığı.
- Bir güncellemenin seçenek adını veya varsayılanını değiştirip değiştirmediği.
Resmi örneği gerçek kaynak olarak kabul edin. Mantıklı görünen bir özellik adı, yüklü görüntüleyicinin onu tanıdığını kanıtlamak için yeterli değildir.
5. Tarayıcı Yazdırmayı Dürüstçe Yönet
Bir görüntüleyici ayarı, görünen bilgilerin asla yazdırılamayacağını veya yakalanamayacağını garanti edemez. Tarayıcı, ana sayfayı yazdırabilir ve kullanıcılar ekran görüntüsü veya fotoğraf çekebilir. Klavye yakalama ve yazdırma‑özel CSS, beklenen deneyimi iyileştirebilir, ancak bunlar istemci tarafında atlatılabilir önlemlerdir.
Ana sayfanın faydalı bir kağıt kopyası üretilmemesi gerekiyorsa, uygulamanız önizlemeyi açıklayıcı bir mesajla değiştirmek için kendi yazdırma‑özel sunumunu kullanabilir. Bu ana sayfa davranışını Doconut'un belgelenmiş görüntüleyici kontrollerinden ayrı tutun.
Bunu belge koruması olarak tanımlamayın. Risk değerlendirmeleriniz daha güçlü bir caydırıcılık gerektirdiğinde sunucu‑tarafı renderlama, yetkilendirme, kontrollü dışa aktarımlar ve görünür filigranlar kullanın.
6. İndirme, Dışa Aktarma ve Yazdırmayı Ayrı Tutun
Kullanıcılar ve geliştiriciler genellikle bunları tek bir “salt okunur” anahtar olarak görür, ancak bunlar farklı veri akışlarını temsil eder:
- Görünüm render edilmiş içeriği gösterir.
- İndirme kaynağı ya da başka bir saklanmış dosyayı döndürür.
- Dışa Aktarma türev bir format oluşturur.
- Yazdırma yazdırılabilir bir temsil üretir ya da tarayıcı yazdırmayı tetikler.
Her işlemi açıkça yetkilendirin. Yazdırma izni olmayan bir kullanıcı yine de indirme izni alabilir, ya da tersine. Araç çubuğunuz, sunucunun kararlarını yansıtmalı, onları tanımlamamalıdır.
7. Faydalı Denetim Olayları Ekleyin
Yazdırma hassas bir konuysa, kararı belgenin kendisini kaydetmeden kaydedin. Bir olay, kullanıcı, kiracı, belge tanımlayıcısı, revizyon, politika sonucu, zaman damgası ve korelasyon kimliğini içerebilir.
Başarılı ve reddedilen denemelerin her ikisini de kaydedin. Yazdırma hizmeti geçici bir dosya oluşturuyorsa, temizliğinin tamamlanıp tamamlanmadığını da kaydedin. Dosya yollarını, tokenları, kişisel veri içeren belge başlıklarını ve yazdırılabilir içeriği rutin günlüklerden uzak tutun.
8. Eksik Düğmenin Ötesinde Test Edin
Araç çubuğu sadece ilk iddiadır. Tüm işlem için testler ekleyin:
Yetkili kullanıcı
- Amaçlanan yazdırma eylemi görünür.
- Yazdırma isteği izin verilen bir belge için başarılı olur.
- Doğru revizyon kullanılır.
- Gerekli işaretlemeler oluşturulan çıktıda görünür.
- Denetim olayı başarıyı kaydeder.
Yetkisiz kullanıcı
- Eylem yoktur ya da devre dışı bırakılmıştır.
- Yazdırma rotasına doğrudan bir istek, yasak yanıt döndürür.
- Belge kimliğini değiştirmek kuralı atlatmaz.
- Yetkili bir oturumdan kopyalanan bir URL, uygunsuz şekilde yeniden kullanılamaz.
- Reddetme, belgenin başka bir kiracıya ait olup olmadığını ortaya çıkarmaz.
Durum değişiklikleri
- Bir oturum sırasında izin iptal edildiğinde, sonraki yazdırma isteğinde uygulanır.
- Süresi dolmuş bir oturum yazdıramaz.
- Silinmiş ya da yerine geçecek bir belge kontrollü bir hata üretir.
- Geçici yazdırma çıktısı yapılandırılmış saklama kuralına uyar.
Tarayıcı otomasyonu, görünür durumu ve yanıt kodunu doğrulayabilir. Entegrasyon testleri, politika değerlendirmesini ve belge‑seviyesindeki yetkilendirmeyi bağımsız olarak doğrulamalıdır.
Yaygın Sorular
Yazdırma düğmesini gizlemek tarayıcının yazdırma kısayolunu durdurur mu?
Hayır. Bu, yalnızca kurulu görüntüleyici bu davranışı uygularsa amaçlanan bir görüntüleyici eylemini kaldırır. Tarayıcı yazdırması ve ekran yakalama ayrı ayrı değerlendirilmelidir ve istemci tarafı kodla tamamen engellenemez.
Yazdırma izni görüntüleme URL'sine dahil edilmelidir mi?
Kimliği doğrulanmış kullanıcı, belge ve işlemle ilişkilendirilmiş bir sunucu‑tarafı yetkilendirme kararı tercih edilmelidir. Geçici bir referans izin taşıyorsa, kapsamını dar tutun, günlüklerden ve yönlendirenlerden koruyun ve hassas eylemleri yeniden doğrulayın.
Yazdırmayı devre dışı bırakmak gizli belgeler için yeterli mi?
Hayır. Bu, kullanılabilirlik ya da caydırıcılık kontrolünden biridir. Gizli iş akışları ayrıca depolama koruması, nesne‑seviyesinde yetkilendirme, kontrollü dışa aktarımlar, saklama kuralları, izleme ve kabul edilmiş bir artık‑risk modeli gerektirir.
Sonuç
Güvenilir bir Doconut yazdırma‑kontrol uygulaması sunucuda başlar ve arayüzde sona erer. Politikayı tanımlayın, işlemi koruyun, kurulu görüntüleyiciniz için yalnızca belgelenmiş seçeneği yapılandırın, sonucu kullanıcılara açıklayın ve doğrudan istekleri ve araç çubuğu görünürlüğünü test edin. Ürün kodunu makalede yeniden yaratmak yerine resmi özellik sayfasını, belgeleri, indirmeleri ve demoları uygulama kaynakları olarak kullanın.