Handledning: Kontrollera utskriftsåtkomst med Doconut
8/21/2026

Handledning: Kontrollera utskriftsåtkomst med Doconut

En steg‑för‑steg‑guide till Doconut‑utskrift, applikationsägd auktorisering, visningskontroller och testning utan att förlita sig på påhittade API‑snuttar.

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

En dokumentutskriftväg som slutar vid en kontrollerad auktoriseringsport
En dokumentutskriftvä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 medföljande 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 förutsättningar innan du ändrar verktygsfältet. En användbar policy besvarar frågor som:

  • Är utskrift tillåten för varje visare, endast vissa roller eller specifika dokument?
  • Beror beslutet på hyresgäst, ärendestatus, dokumentklassificering eller utgångsdatum?
  • 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 en enda global Boolean när den faktiska 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, återupprepa en tidigare begäran eller initiera webbläsarutskrift på synligt innehåll. Varje server‑route som genererar utskriftsbart material måste verkställa samma policy.

Använd distinkta tillstånd i UI‑n:

TillståndVisningsbeteendeServerbeteende
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 autentisera sig på nyttAvvisa den föråldrade begäran

3. Skydda utskrifts‑endpointen

Skydda den applikationsoperation som initierar utskrift eller returnerar utskriftsbart material. Auktoriseringsbeslutet bör ta hänsyn till hyresgästmedlemskap, ägandeskap, klassificering, arbetsflödesstatus och dokumentrevision. Hämta 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 visningsspecifik route istället för att skapa en PDF, tillämpa samma auktorisering innan den routen anropas.

4. Konfigurera den installerade visarversionen

När server‑regeln finns, konfigurera Doconut‑UI:n med exakt det alternativ som dokumenteras för paketet och exempel‑filerna som följer med din version. De Doconut‑live‑demosen låter dig observera stödjt visningsbeteende innan du bestämmer dig för en specifik integration. Verifiera:

  1. Var alternativet sätts: serverkonfiguration, view‑model eller klient‑initialisering.
  2. Om det döljer ett verktygsfältsobjekt, inaktiverar en åtgärd eller påverkar genererat resultat.
  3. Om värdet gäller per visare‑instans eller globalt.
  4. Om utskrift och export är separata operationer.
  5. Om en uppdatering ändrat alternativets namn eller standardvärde.

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

5. Hantera webbläsarutskrift ä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. Tangentbords‑interception och utskrifts‑specifik CSS kan förbättra den förväntade upplevelsen, men de är kringgående klient‑sida‑åtgärder.

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

Beskriv inte detta som dokumentskydd. Använd server‑sidrendering, auktorisering, kontrollerade exporteringar och synliga vattenmärken 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 “endast‑läslig” växel, men de representerar olika datavägar:

  • Visa visar renderat innehåll.
  • Nedladdning returnerar källfilen eller en annan lagrad fil.
  • Export skapar ett derivatformat.
  • Utskrift producerar en utskriftsbar representation eller initierar webbläsarutskrift.

Auktorisera varje operation explicit. En användare som inte får skriva ut kan fortfarande tillåtas att ladda ner, och vice versa. 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 innehålla användare, hyresgäst, dokumentidentifierare, revision, policyresultat, tidsstämpel och korrelations‑ID.

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

8. Testa bortom den saknade knappen

Verktygsfältet är bara den 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 på genererat resultat.
  • Audit‑händelsen registrerar framgång.

Oauktoriserad användare

  • Åtgärden saknas eller är inaktiverad.
  • En direkt begäran till utskrifts‑routen 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 felaktigt.
  • Nekandet avslöjar inte om en annan hyresgäst äger dokumentet.

Tillståndsändringar

  • Behörighet återkallas under en session och verkställs vid nästa utskriftsbegäran.
  • En utgången session kan inte skriva ut.
  • Ett raderat eller ersatt dokument ger ett kontrollerat fel.
  • Temporärt utskriftsresultat följer den konfigurerade retention‑regeln.

Webbläsar‑automation kan verifiera synligt tillstånd och svarskod. Integrations‑tester bör verifiera policy‑utvärdering och dokument‑nivå‑auktorisering oberoende.

Vanliga frågor

Stoppar dölja utskriftsknappen webbläsarens utskrifts‑kortkommando?
Nej. Det tar bara bort en avsedd visningsåtgärd om den installerade visaren implementerar det beteendet. Webbläsarutskrift och skärmdumps‑fångst kräver separat övervägning och kan inte helt förhindras med klient‑kod.

Ska utskriftsbehörighet inkluderas i visnings‑URL:en?
Föredra ett server‑sidigt auktoriseringsbeslut knutet till den autentiserade användaren, dokumentet och operationen. Om en temporär referens bär behörigheter, begränsa dess räckvidd, skydda den mot loggar och refererare, och validera känsliga åtgärder igen.

Är det tillräckligt att inaktivera utskrift för konfidentiella dokument?
Nej. Det är en användbarhets‑ eller avskräckningskontroll. Konfidentiella arbetsflöden kräver även lagringsskydd, objekt‑nivå‑auktorisering, kontrollerade exporteringar, retention‑regler, övervakning och en accepterad residual‑risk‑modell.

Slutsats

En pålitlig Doconut‑utskrift‑kontrollimplementation börjar på servern och slutar i gränssnittet. Definiera 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 såväl som verktygsfältets synlighet. Använd den officiella funktions‑sidan, dokumentationen, nedladdningarna och demona som implementationskällor snarare än att återskapa produktkod i artikeln.