Handledning: Styr utskriftsåtkomst med Doconut
2026-08-21

Handledning: Styr utskriftsåtkomst med Doconut

Planera Doconut-uteskriftsåtkomst med officiella produktresurser, applikationsägda behörigheter, skyddade operationer, tydlig användarupplevelse och praktiska tester.

Den officiella Doconut-funktionskatalog listar webbläsarutskrift och PDF‑export som visarfunktioner. Att kontrollera åtkomst till dem kräver fortfarande två separata beslut: om Doconut visar den relevanta åtgärden och om värdapplikationen auktoriserar den operationen för den aktuella användaren och dokumentet.

En dokumentutskriftsväg som slutar vid en kontrollerad auktoriseringsport
En dokumentutskriftsväg som slutar vid en kontrollerad auktoriseringsport

För de exakta kontroller som stöds av din installerade version, börja med Doconut-dokumentationen och de paketera exemplen som finns på den officiella Doconut-nedladdningssidan. Kopiera inte konfigurationsnycklar eller källkod från en orelaterad version eller en overifierad artikel.


1. Definiera utskriftspolicyn först

Skriv ner vem som får skriva ut och under vilka villkor innan du ändrar verktygsfältet. En användbar policy svarar på frågor som:

  • Är utskrift tillåten för alla visare, endast vissa roller eller specifika dokument?
  • Beror beslutet på hyresgäst, ärendestatus, dokumentklassificering eller utgång?
  • Krävs ett vattenmärke på utskriftsresultatet?
  • Ska utskrifts‑händelser auditera?
  • Kan en användare skriva ut en äldre dokumentrevision?
  • Vad ska hända när behörigheten ändras medan förhandsgranskningen är öppen?

Undvik ett enda globalt Boolean‑värde när den verkliga regeln är kontextuell. Modellera utskrift som en egen operation så att den kan auktoriseras oberoende av visning och nedladdning.

2. Separera UI‑tillstånd från auktorisering

Värdsidan kan besluta om den ska visa en utskriftskontroll efter att den mottagit ett applikationsägt behörighetsresultat. Det förbättrar tydligheten för användare som inte kan skriva ut.

Att dölja en kontroll är dock inte en auktoriseringsgräns. En användare kan fortfarande anropa en känd endpoint direkt, återspela en tidigare begäran eller initiera webbläsarutskrift på synligt innehåll. Varje server‑route som producerar utskriftsbart resultat måste verkställa samma policy.

Använd distinkta tillstånd i UI‑tänket:

TillståndVisarens beteendeServerns beteende
Utskrift tillåtenVisa den stödjade utskriftsåtgärdenAuktorisera och skapa den begärda utskriften
Utskrift nekadDölj eller inaktivera åtgärden med en tydlig förklaringReturnera ett förbjudet svar
Policy okändBehåll åtgärden otillgänglig medan behörigheten laddasSkapa inte någon utskrift
Sessionen har gått utBe användaren att autentisera på nyttAvvisa den föråldrade begäran

3. Skydda utskrifts‑endpointen

Skydda den applikationsoperation som initierar utskrift eller returnerar utskriftsbart resultat. Auktoriseringsbeslutet bör ta hänsyn till hyresgästmedlemskap, ägande, klassificering, arbetsflödesstatus och dokumentrevision. Lös dokumentet på servern istället för att acceptera en klient‑tillhandahållen sökväg eller lagrings‑URL.

Om din applikation skriver ut via en visarspecifik route istället för att skapa en PDF, tillämpa samma auktorisering innan du anropar den rutten.

4. Konfigurera den installerade visarversionen

När serverregeln finns, konfigurera Doconut‑UI:n med exakt det alternativ som dokumenteras för paketet och exempel‑filerna som levereras med din version. De Doconut live‑demoer låter dig observera stödjda visarbeteenden innan du förbinder dig till en specifik integration. Verifiera:

  1. Var alternativet är inställt: serverkonfiguration, view‑model eller klientinitialisering.
  2. Om det döljer ett verktygsfältselement, inaktiverar en åtgärd eller påverkar genererad utskrift.
  3. Om värdet gäller per visarinstans eller globalt.
  4. Om utskrift och export är separata operationer.
  5. Om en uppdatering ändrade alternativets namn eller standardvärde.

Behandla det officiella exemplet som sanningskällan. Ett plausibelt namn på en egenskap är inte tillräckligt bevis för att den installerade visaren känner igen den.

5. Hantera webbläsarutskrifter ärligt

En visningsinställning kan inte garantera att synlig information aldrig skrivs ut eller fångas. Webbläsaren kan skriva ut värdsidan, och användare kan ta skärmdumpar eller fotografier. Tangentbordsavlyssning och utskrifts‑specifik CSS kan förbättra den förväntade upplevelsen, men de är kringgående åtgärder på klientsidan.

Om värdsidan inte bör producera en användbar papperskopia kan din applikation använda sin egen utskrifts‑specifika presentation för att ersätta förhandsgranskningen med ett förklarande meddelande. Håll detta värdsidesbeteende separat från Doconut's dokumenterade visningskontroller.

Beskriv inte detta som dokumentskydd. Använd server‑side rendering, auktorisation, kontrollerade exporteringar och synliga vattenstämplar när din riskbedömning kräver starkare avskräckning.

6. Håll nedladdning, export och utskrift separata

Användare och utvecklare behandlar ofta dessa som en enda “skrivskyddad” knapp, men de representerar olika dataflöden:

  • View visar renderat innehåll.
  • Download returnerar källan eller en annan lagrad fil.
  • Export skapar ett derivatformat.
  • Print producerar en utskrivbar representation eller initierar webbläsarutskrift.

Auktorisera varje operation explicit. En användare som inte kan skriva ut kan fortfarande tillåtas att ladda ner, eller tvärtom. Ditt verktygsfält bör spegla serverns beslut snarare än att definiera dem.

7. Lägg till användbara audit‑händelser

Om utskrift är känslig, registrera beslutet utan att logga själva dokumentet. En händelse kan inkludera användaren, hyresgästen, dokumentidentifieraren, revisionen, policyresultatet, tidsstämpeln och korrelations‑ID.

Registrera både lyckade och nekade försök. Om utskriftstjänsten skapar en temporär fil, registrera även om dess rensning slutfördes. Håll filsökvägar, token, dokumenttitlar som innehåller personuppgifter och utskrivbart innehåll utanför rutinloggar.

8. Testa bortom den saknade knappen

Verktygsfältet är bara det första påståendet. Lägg till tester för hela operationen:

Auktoriserad användare

  • Den avsedda utskriftsåtgärden är synlig.
  • Utskriftsbegäran lyckas för ett tillåtet dokument.
  • Rätt revision används.
  • Nödvändiga märkningar visas i genererat resultat.
  • Audit‑händelsen registrerar framgång.

Oauktoriserad användare

  • Åtgärden saknas eller är inaktiverad.
  • En direkt begäran till utskrifts‑endpointen returnerar ett förbjudet svar.
  • Ändring av dokument‑ID kringgår inte regeln.
  • En URL kopierad från en auktoriserad session kan inte återanvändas på fel sätt.
  • Nekandet avslöjar inte om en annan hyresgäst äger dokumentet.

Tillståndsförändringar

  • Behörighet som återkallas under en session verkställs vid nästa utskriftsbegäran.
  • En utgången session kan inte skriva ut.
  • Ett raderat eller ersatt dokument ger ett kontrollerat fel.
  • Tillfälligt utskriftsresultat följer den konfigurerade lagringsregeln.

Webbläsar‑automation kan verifiera det synliga tillståndet och svarskoden. Integrationstester bör verifiera policyutvärdering och dokumentnivå‑auktorisation oberoende.

Vanliga frågor

Döljer man utskriftsknappen stoppar det webbläsarens utskriftsgenväg?
Nej. Det tar bort en avsedd visningsåtgärd endast om den installerade visaren implementerar det beteendet. Webbläsarutskrift och skärmfångst kräver separat hänsyn och kan inte helt förhindras med kod på klientsidan.

Ska utskriftsbehörighet inkluderas i visnings‑URL:en?
Föredra ett server‑side auktorisationsbeslut kopplat till den autentiserade användaren, dokumentet och operationen. Om en temporär referens bär behörigheter, begränsa den snävt, skydda den från loggar och hänvisare, och validera känsliga åtgärder igen.

Är det tillräckligt att inaktivera utskrift för konfidentiella dokument?
Nej. Det är en kontroll för användbarhet eller avskräckning. Konfidentiella arbetsflöden kräver också lagringsskydd, objekt‑nivå auktorisation, kontrollerade exporteringar, lagringsregler, övervakning och en accepterad restriskmodell.

Slutsats

En pålitlig Doconut‑utskriftskontrollimplementation börjar på servern och slutar i gränssnittet. Definera policyn, skydda operationen, konfigurera endast det dokumenterade alternativet för din installerade visare, förklara resultatet för användarna och testa direkta begäranden samt verktygsfältets synlighet. Använd den officiella funktionssidan, dokumentationen, nedladdningarna och demo‑erna som implementationskällor istället för att återskapa produktkod i artikeln.