Rimuovere un pulsante di download può supportare un flusso di lavoro solo visualizzazione, ma non rende impossibile copiare un documento visibile. Un'implementazione sicura richiede autorizzazione lato server, archiviazione protetta, sessioni a breve durata, registri accurati e una comprensione realistica di ciò che le restrizioni dell'interfaccia utente possono ottenere.
Doconut fornisce un visualizzatore di documenti .NET integrato per le applicazioni aziendali. Questo tutorial spiega il design di sicurezza circostante senza pubblicare proprietà di configurazione indovinate o altro codice sorgente non documentato di Doconut.

1. Definire cosa significa “solo visualizzazione”
Inizia con una politica precisa. Team diversi possono usare “solo visualizzazione” per indicare:
- Non offrire il file originale come download.
- Non mostrare un'azione di esportazione.
- Non consentire la stampa.
- Permettere la visualizzazione solo durante una sessione autorizzata.
- Impedire agli utenti di accedere direttamente alla posizione di archiviazione.
- Aggiungere record di audit quando un documento viene aperto.
Si tratta di controlli separati. Decidi quali sono necessari e verifica che il prodotto Doconut selezionato, i plugin e la licenza supportino il comportamento del visualizzatore di cui hai bisogno.
Non promettere mai che un documento visibile non possa essere catturato. Screenshot, fotocamere, strumenti di accessibilità, capacità del browser e accesso autorizzato ai pixel visualizzati rendono irrealistica la prevenzione assoluta.
2. Proteggere il file originale
Il documento originale deve rimanere in un'archiviazione protetta lato server.
Usa:
- Identificatori di documento generati dal server
- Permessi di archiviazione ristretti
- Crittografia a riposo dove necessario
- Una politica di conservazione documentata
- Permessi separati per caricamento, visualizzazione, esportazione e amministrazione
Non inviare credenziali di archiviazione, percorsi di file non limitati o URL pubblici permanenti al client.
3. Autorizzare ogni richiesta di documento
In ASP.NET Core, proteggi il percorso del visualizzatore con i meccanismi standard di autenticazione e autorizzazione.
Il server deve verificare:
- L'utente è autenticato.
- Il documento esiste.
- L'utente è autorizzato a visualizzare quel documento specifico.
- L'azione richiesta è consentita per il ruolo dell'utente e lo stato corrente del flusso di lavoro.
L'attributo [Authorize] può proteggere un percorso, mentre policy, claim o autorizzazione basata su risorsa possono prendere la decisione specifica per il documento.
L'autorizzazione deve coprire anche qualsiasi endpoint che restituisce dati del documento, pagine, esportazioni, annotazioni o output di stampa. Proteggere solo la pagina iniziale lascia esposti percorsi alternativi.
4. Separare i permessi di visualizzazione e download
Modella i permessi in modo esplicito anziché inferirli da un pulsante nascosto.
Ad esempio:
CanViewDocumentCanDownloadOriginalCanExportDocumentCanPrintDocumentCanManageDocument
Questi nomi descrivono le policy dell'applicazione, non le API di Doconut. Il tuo livello di autorizzazione dovrebbe valutarli sul server prima di eseguire l'azione corrispondente.
Un amministratore può avere il permesso di download mentre un altro utente autenticato ha solo il permesso di visualizzazione. Entrambi gli utenti possono condividere la stessa pagina dell'applicazione ricevendo capacità autorizzate diverse.
5. Configurare il visualizzatore dalla documentazione ufficiale
Usa solo i nomi di configurazione e i passaggi di integrazione documentati per la versione esatta di Doconut installata nella tua applicazione.
La verificata pagina del visualizzatore Doconut fornisce informazioni sul prodotto corrente. La pagina di download e documentazione Doconut fornisce risorse di installazione ed esempi specifici per versione.
Se il prodotto installato espone un'impostazione supportata per nascondere o disabilitare un'azione di download:
- Applicala secondo la documentazione ufficiale.
- Considerala un controllo dell'interfaccia utente e del flusso di lavoro.
- Mantieni protetto l'endpoint server correlato.
- Verifica che gli utenti non autorizzati non possano bypassarlo con una richiesta diretta.
Non copiare proprietà di configurazione indovinate da un articolo non correlato e presumere che siano supportate.
6. Tenere l'integrazione del visualizzatore dietro un servizio
Un servizio applicativo dedicato può:
- Risolvere il documento autorizzato
- Aprirlo tramite un'astrazione di archiviazione approvata
- Applicare la configurazione del visualizzatore supportata
- Rilasciare stream e risorse temporanee
- Registrare eventi di audit sanitizzati
- Restituire errori sicuri al controller
Questo mantiene i dettagli specifici dell'SDK fuori dalle policy di autorizzazione e dal codice di presentazione.
Tipi .NET standard come Stream, FileStream, CancellationToken e servizi iniettati tramite dipendenza possono formare il confine dell'applicazione circostante. Segui la documentazione di Doconut per le chiamate al SDK.
7. Applicare la difesa in profondità
Un flusso di lavoro solo visualizzazione può includere:
- Autenticazione e autorizzazione a livello di risorsa
- Isolamento di rete e archiviazione
- Durata breve della sessione
- Rotte di esportazione e stampa limitate
- Filigrane quando supportate e appropriate
- Eventi di audit per l'accesso ai documenti
- Limiti di velocità e controlli di concorrenza
- Regole chiare di conservazione e pulizia
- Monitoraggio della sicurezza per pattern di accesso anomali
Nessun singolo controllo è sufficiente. Un pulsante nascosto senza protezione server è particolarmente facile da bypassare.
8. Registrare gli accessi senza divulgare dati
Campi di audit utili includono:
- Identificatore del documento nell'applicazione
- Identificatore dell'utente autorizzato
- Timestamp
- Azione richiesta
- Risultato
- Identificatore di correlazione
- Motivo sanitizzato per il rifiuto o il fallimento
Evita di registrare:
- Contenuti del documento
- Credenziali di archiviazione
- Token di accesso
- URL sensibili
- Percorsi server completi
- Informazioni personali non necessarie
Proteggi i log di audit secondo la loro sensibilità e i requisiti di conservazione.
9. Testare i tentativi di aggirare l'interfaccia
Non fermarti dopo aver confermato che un pulsante della barra degli strumenti è assente.
Testa se un utente solo visualizzazione può:
- Richiedere direttamente il percorso del file originale
- Chiamare una rotta di esportazione o stampa
- Modificare un identificatore di documento
- Riutilizzare una sessione scaduta
- Accedere al documento di un altro utente
- Scoprire URL di archiviazione nel markup o nelle risposte di rete
- Generare errori dettagliati che rivelano percorsi interni
- Mantenere l'accesso dopo la revoca del permesso
Includi sia test di autorizzazione automatizzati sia test manuali con il browser.
10. Impostare aspettative realistiche per l'utente
Spiega cosa fa la politica:
- Limita i workflow di download o esportazione forniti dall'applicazione.
- Restringe l'accesso agli utenti autorizzati.
- Può registrare gli eventi di visualizzazione.
- Mantiene il file originale dietro controlli server.
Spiega anche cosa non può garantire:
- Non può impedire foto o screenshot in ogni ambiente.
- Non può revocare informazioni già viste e ricordate.
- Non sostituisce controlli contrattuali, organizzativi o di sicurezza a livello di endpoint.
Questa distinzione rende il prodotto più affidabile e aiuta le parti interessate a scegliere controlli appropriati per materiale altamente sensibile.
Checklist di verifica
- Visualizzazione e download usano permessi server separati.
- Ogni richiesta di documento esegue autorizzazione a livello di risorsa.
- Il file originale non ha URL pubblico permanente.
- Le impostazioni del visualizzatore provengono dalla documentazione per la versione installata di Doconut.
- Le azioni nascoste hanno endpoint server protetti.
- I dati temporanei hanno un processo di pulizia definito.
- I log di audit evitano contenuti del documento e segreti.
- Le richieste dirette non autorizzate sono coperte dai test.
- Le risposte di errore non espongono dettagli di archiviazione interna.
- La copia del prodotto non afferma una prevenzione assoluta della copia.
Dove si inserisce Doconut
Doconut fornisce lo strato di visualizzazione integrato all'interno dell'applicazione .NET. La tua applicazione rimane responsabile per identità, autorizzazione, permessi, archiviazione, conservazione, auditing e la veridicità della promessa “solo visualizzazione”.
Valuta il SDK del visualizzatore di documenti .NET Doconut rispetto ai tuoi requisiti di sicurezza e ai documenti rappresentativi. Usa le risorse ufficiali per la configurazione supportata invece di fare affidamento su codice sorgente indovinato.
Conclusione
Un flusso di lavoro documento solo visualizzazione è un design di difesa in profondità, non una semplice flag booleana. Proteggi il file originale, autorizza ogni richiesta, separa i permessi di visualizzazione e download, convalida le impostazioni del visualizzatore supportate, registra gli accessi e testa i tentativi diretti di aggirare l'interfaccia.
Con questi controlli in atto, Doconut può fornire l'esperienza di documento integrato mentre la tua applicazione ASP.NET applica la politica di sicurezza attorno ad essa.