Samouczek: Kontrola dostępu do drukowania z Doconut
8/21/2026

Samouczek: Kontrola dostępu do drukowania z Doconut

Przewodnik krok po kroku po drukowaniu w Doconut, autoryzacji zarządzanej przez aplikację, kontrolach podglądu i testowaniu bez polegania na wymyślonych fragmentach API.

The official Katalog funkcji Doconut wymienia drukowanie w przeglądarce i eksport do PDF jako możliwości podglądu. Kontrola dostępu do nich nadal wymaga dwóch odrębnych decyzji: czy Doconut udostępnia odpowiednią akcję oraz czy aplikacja‑host autoryzuje tę operację dla bieżącego użytkownika i dokumentu.

Ścieżka drukowania dokumentu kończąca się na kontrolowanym bramce autoryzacji
Ścieżka drukowania dokumentu kończąca się na kontrolowanym bramce autoryzacji

Aby poznać dokładne kontrolki obsługiwane przez zainstalowaną wersję, rozpocznij od dokumentacji Doconut oraz pakietowych przykładów dostępnych na oficjalnej stronie pobierania Doconut. Nie kopiuj kluczy konfiguracyjnych ani kodu źródłowego z niepowiązanej wersji lub niezweryfikowanego artykułu.


1. Najpierw określ politykę drukowania

Zapisz, kto może drukować i na jakich warunkach, zanim zmienisz pasek narzędzi. Przydatna polityka odpowiada na pytania takie jak:

  • Czy drukowanie jest dozwolone dla każdego podglądu, tylko określonych ról czy konkretnych dokumentów?
  • Czy decyzja zależy od najemcy, statusu sprawy, klasyfikacji dokumentu lub wygaśnięcia?
  • Czy na wydruku wymagana jest znak wodny?
  • Czy zdarzenia drukowania powinny być audytowane?
  • Czy użytkownik może drukować starszą wersję dokumentu?
  • Co powinno się stać, gdy uprawnienia zmienią się podczas otwartego podglądu?

Unikaj pojedynczej globalnej wartości Boolean, gdy rzeczywista reguła jest kontekstowa. Modeluj drukowanie jako odrębną operację, aby mogło być autoryzowane niezależnie od podglądu i pobierania.

2. Oddziel stan UI od autoryzacji

Strona hosta może zdecydować, czy wyświetlić kontrolkę drukowania po otrzymaniu wyniku uprawnienia zarządzanego przez aplikację. Poprawia to przejrzystość dla użytkowników, którzy nie mogą drukować.

Jednak ukrycie kontrolki nie jest granicą autoryzacji. Użytkownik nadal może wywołać znany punkt końcowy bezpośrednio, odtworzyć wcześniejsze żądanie lub wywołać drukowanie w przeglądarce na widocznej treści. Każda trasa serwera generująca wydrukowalny output musi wymuszać tę samą politykę.

Użyj odrębnych stanów w UI:

StanZachowanie podgląduZachowanie serwera
Drukowanie dozwolonePokaż obsługiwaną akcję drukowaniaAutoryzuj i utwórz żądany output
Drukowanie odrzuconeUkryj lub wyłącz akcję z jasnym wyjaśnieniemZwróć odpowiedź zabronioną
Polityka nieznanaUtrzymaj akcję niedostępną podczas ładowania uprawnieńNie twórz outputu
Sesja wygasłaPoproś użytkownika o ponowne uwierzytelnienieOdrzuć przeterminowane żądanie

3. Chroń punkt końcowy drukowania

Chroń operację aplikacji, która wywołuje drukowanie lub zwraca wydrukowalny output. Decyzja autoryzacyjna powinna uwzględniać przynależność do najemcy, własność, klasyfikację, stan przepływu pracy oraz wersję dokumentu. Rozwiąż dokument po stronie serwera zamiast akceptować ścieżkę lub URL przechowywania podany przez klienta.

Jeśli Twoja aplikacja drukuje poprzez trasę specyficzną dla podglądu zamiast tworzyć PDF, zastosuj tę samą autoryzację przed wywołaniem tej trasy.

4. Skonfiguruj zainstalowaną wersję podglądu

Po ustanowieniu reguły po stronie serwera, skonfiguruj interfejs Doconut UI, używając dokładnej opcji udokumentowanej dla pakietu i plików przykładów dostarczonych z Twoją wersją. Oficjalne pokazy na żywo Doconut pozwalają obserwować zachowanie podglądu przed podjęciem konkretnej integracji. Zweryfikuj:

  1. Gdzie opcja jest ustawiona: konfiguracja serwera, model widoku lub inicjalizacja klienta.
  2. Czy ukrywa element paska narzędzi, wyłącza akcję lub wpływa na generowany output.
  3. Czy wartość ma zastosowanie do pojedynczej instancji podglądu czy globalnie.
  4. Czy drukowanie i eksport są odrębnymi operacjami.
  5. Czy aktualizacja zmieniła nazwę opcji lub wartość domyślną.

Traktuj oficjalny przykład jako źródło prawdy. Nazwa właściwości wyglądająca wiarygodnie nie jest wystarczającym dowodem, że zainstalowany podgląd ją rozpoznaje.

5. Obsługuj drukowanie w przeglądarce uczciwie

Ustawienie podglądu nie może zagwarantować, że widoczna informacja nigdy nie zostanie wydrukowana lub przechwycona. Przeglądarka może wydrukować stronę hosta, a użytkownicy mogą robić zrzuty ekranu lub zdjęcia. Przechwytywanie klawiatury i CSS specyficzny dla drukowania mogą poprawić oczekiwane doświadczenie, ale są to środki, które można obejść po stronie klienta.

Jeśli strona hosta nie powinna generować użytecznej kopii papierowej, Twoja aplikacja może użyć własnej prezentacji specyficznej dla drukowania, aby zastąpić podgląd komunikatem wyjaśniającym. Zachowaj to zachowanie strony hosta oddzielnie od udokumentowanych kontrolek podglądu Doconut.

Nie opisuj tego jako ochrony dokumentu. Używaj renderowania po stronie serwera, autoryzacji, kontrolowanych eksportów i widocznych znaków wodnych, gdy ocena ryzyka wymaga silniejszego odstraszania.

6. Trzymaj pobieranie, eksport i drukowanie oddzielnie

Użytkownicy i programiści często traktują je jako jedno przełącznik „tylko do odczytu”, ale reprezentują różne przepływy danych:

  • View wyświetla renderowaną treść.
  • Download zwraca źródło lub inny przechowywany plik.
  • Export tworzy format pochodny.
  • Print generuje wydrukowalną reprezentację lub wywołuje drukowanie w przeglądarce.

Autoryzuj każdą operację wyraźnie. Użytkownik, który nie może drukować, może nadal mieć prawo do pobrania, lub odwrotnie. Twój pasek narzędzi powinien odzwierciedlać decyzje serwera, a nie je definiować.

7. Dodaj przydatne zdarzenia audytu

Jeśli drukowanie jest wrażliwe, zarejestruj decyzję bez logowania samego dokumentu. Zdarzenie może zawierać użytkownika, najemcę, identyfikator dokumentu, wersję, wynik polityki, znacznik czasu i identyfikator korelacji.

Rejestruj zarówno udane, jak i odrzucone próby. Jeśli usługa drukowania tworzy tymczasowy plik, zarejestruj również, czy jego czyszczenie zakończyło się sukcesem. Trzymaj ścieżki plików, tokeny, tytuły dokumentów zawierające dane osobowe oraz wydrukowalną treść poza standardowymi logami.

8. Testuj poza brakującym przyciskiem

Pasek narzędzi to tylko pierwsze założenie. Dodaj testy dla całej operacji:

Użytkownik uprawniony

  • Planowana akcja drukowania jest widoczna.
  • Żądanie drukowania kończy się sukcesem dla dozwolonego dokumentu.
  • Używana jest właściwa wersja.
  • Wymagane oznaczenia pojawiają się w wygenerowanym outputcie.
  • Zdarzenie audytu rejestruje sukces.

Użytkownik nieuprawniony

  • Akcja jest nieobecna lub wyłączona.
  • Bezpośrednie żądanie do trasy drukowania zwraca odpowiedź zabronioną.
  • Zmiana ID dokumentu nie omija reguły.
  • URL skopiowany z sesji autoryzowanej nie może być niewłaściwie ponownie użyty.
  • Odrzucenie nie ujawnia, czy inny najemca jest właścicielem dokumentu.

Zmiany stanu

  • Odwołane uprawnienie w trakcie sesji jest egzekwowane przy następnym żądaniu drukowania.
  • Wygasła sesja nie może drukować.
  • Usunięty lub zastąpiony dokument generuje kontrolowany błąd.
  • Tymczasowy output drukowania podlega skonfigurowanej regule przechowywania.

Automatyzacja przeglądarki może zweryfikować widoczny stan i kod odpowiedzi. Testy integracyjne powinny niezależnie weryfikować ocenę polityki i autoryzację na poziomie dokumentu.

Częste pytania

Czy ukrycie przycisku drukowania zatrzymuje skrót drukowania w przeglądarce?
Nie. Usuwa zamierzoną akcję podglądu tylko wtedy, gdy zainstalowany podgląd implementuje takie zachowanie. Drukowanie w przeglądarce i przechwytywanie ekranu wymagają odrębnego rozważenia i nie mogą być w pełni zapobiegnięte kodem po stronie klienta.

Czy uprawnienie do drukowania powinno być zawarte w URL podglądu?
Preferuj decyzję autoryzacji po stronie serwera powiązaną z uwierzytelnionym użytkownikiem, dokumentem i operacją. Jeśli tymczasowe odniesienie niesie uprawnienia, ogranicz je wąsko, chroń przed logami i odnośnikami oraz ponownie weryfikuj wrażliwe akcje.

Czy wyłączenie drukowania wystarczy dla poufnych dokumentów?
Nie. To tylko jedna kontrola użyteczności lub odstraszania. Poufne przepływy pracy wymagają również ochrony przechowywania, autoryzacji na poziomie obiektu, kontrolowanych eksportów, reguł retencji, monitorowania oraz przyjętego modelu ryzyka resztkowego.

Wnioski

Wiarygodna implementacja kontroli drukowania w Doconut zaczyna się od serwera i kończy w interfejsie. Określ politykę, chroń operację, skonfiguruj wyłącznie udokumentowaną opcję dla zainstalowanego podglądu, wyjaśnij wynik użytkownikom i testuj bezpośrednie żądania oraz widoczność paska narzędzi. Korzystaj z oficjalnej strony funkcji, dokumentacji, pobrań i demonstracji jako źródeł implementacji, zamiast odtwarzać kod produktu w artykule.