Ενσωμάτωση του Doconut στην Εφαρμογή Ιστού σας: Ένας Πρακτικός Οδηγός
8/7/2026

Ενσωμάτωση του Doconut στην Εφαρμογή Ιστού σας: Ένας Πρακτικός Οδηγός

Ένας πρακτικός οδηγός για την ενσωμάτωση του Doconut .NET προβολέα εγγράφων, διατηρώντας την εξουσιοδότηση, τη δρομολόγηση και την εμπειρία χρήστη υπό τον έλεγχο της εφαρμογής.

Doconut Προβολέας είναι μια βιβλιοθήκη .NET για προβολή εγγράφων σχεδιασμένη να τοποθετεί PDF, Office, CAD, εικόνες και άλλες υποστηριζόμενες οικογένειες εγγράφων μέσα σε μια εφαρμογή. Μια σωστή ενσωμάτωση του Doconut αφορά περισσότερο την επιλογή ενός καθαρού ορίου μεταξύ της εφαρμογής σας, του προβολέα και του προγράμματος περιήγησης, παρά την εύρεση του πιο σύντομου αποσπάσματος.

Μια ενσωματωμένη προεπισκόπηση εγγράφου διατεταγμένη μέσα σε ένα δομημένο χώρο εργασίας εφαρμογής ιστού
Μια ενσωματωμένη προεπισκόπηση εγγράφου διατεταγμένη μέσα σε ένα δομημένο χώρο εργασίας εφαρμογής ιστού

Η πύλη τεκμηρίωσης Doconut συνδέει με τις συντηρημένες διαδρομές εγκατάστασης για υποστηριζόμενους τύπους έργων .NET. Χρησιμοποιήστε τον οδηγό που ταιριάζει με την έκδοση που είναι εγκατεστημένη στην εφαρμογή σας, στη συνέχεια αντιμετωπίστε τη γύρω σελίδα, τους ελέγχους ταυτότητας και τη ροή πρόσβασης ως κώδικα εφαρμογής που ανήκει στην ομάδα σας.


Ξεκινήστε με το Όριο Ενσωμάτωσης

Υπάρχουν τρεις συνήθεις τρόποι να τοποθετήσετε μια προεπισκόπηση εγγράφου σε ένα προϊόν. Η σωστή επιλογή εξαρτάται από το ποιος διαχειρίζεται την πλοήγηση, την ταυτοποίηση και τον κύκλο ζωής του προβολέα.

ΜοτίβοΚαλύτερη εφαρμογήΚύρια ανταλλαγή
Προβολή ΕφαρμογήςΜια σελίδα .NET που αποδίδει τον προβολέα δίπλα στους ελέγχους του προϊόντοςΣτενή ενσωμάτωση, αλλά η σελίδα και ο προβολέας είναι συνδεδεμένοι
Iframe που ανήκει στην ΕφαρμογήΈνα portal που χρειάζεται απομόνωση μεταξύ του UI του κεντρικού και της διαδρομής προεπισκόπησηςΚαθαρό όριο, αλλά η επικοινωνία πρέπει να σχεδιαστεί ρητά
Στοιχείο Πλαισίου γύρω από διαδρομή διακομιστήΈνα κέλυφος React, Angular ή Vue υποστηριζόμενο από μια εφαρμογή .NETΓνωστή σύνθεση front‑end, με περισσότερες καταστάσεις κύκλου ζωής προς διαχείριση

Το μοτίβο iframe δεν χρειάζεται να δείχνει σε δημόσια διεύθυνση URL εγγράφου. Μπορεί να δείχνει σε μια αυθεντικοποιημένη διαδρομή στην δική σας εφαρμογή. Η διαδρομή αυτή μπορεί να επαληθεύει την πρόσβαση και να αποδίδει τη σελίδα του προβολέα χωρίς να εκθέτει διαδρομή αποθήκευσης στη σελίδα-ξενιστή.

Δημιουργήστε μια Σταθερή, Ανταποκρινόμενη Επιφάνεια Προεπισκόπησης

Μην ξανακατασκευάσετε το markup ή την αρχικοποίηση του προβολέα από ένα εικονογραφικό απόσπασμα του blog. Το Doconut δημοσιεύει τα αρχεία, τα βήματα middleware, τα namespaces και τη ρύθμιση του προβολέα που είναι κατάλληλα για κάθε υποστηριζόμενη γραμμή .NET. Για παράδειγμα, ο επίσημος οδηγός εγκατάστασης .NET 6 ή νεότερης έκδοσης εξηγεί το middleware του διακομιστή, το αντικείμενο προβολέα, τις επιλογές εγγράφου, τη διαμόρφωση απόδοσης και τα απαιτούμενα assets πελάτη.

Χρησιμοποιήστε αυτά τα υλικά με έκδοση για να δημιουργήσετε τον προβολέα, στη συνέχεια δώστε στην περιοχή φιλοξενίας του σταθερό πλάτος και ύψος στη δική σας διάταξη. Κρατήστε αρκετό χώρο πριν τη φόρτωση ώστε η γύρω σελίδα να μην «πηδά», και δοκιμάστε τη γραμμή εργαλείων και την πρώτη σελίδα στα πραγματικά breakpoints που υποστηρίζει το προϊόν σας.

Πριν δεσμευτείτε σε μια σύνθεση, συγκρίνετε την με τα επίσημα ζωντανά demos του Doconut. Τα demos καλύπτουν πολλαπλά στυλ ενσωμάτωσης .NET και front‑end, συμπεριλαμβανομένου ενός αφιερωμένου παραδείγματος iframe, και βοηθούν να διακρίνετε μια επίσημα υποστηριζόμενη διαδρομή από ένα φαινομενικά σωστό απόσπασμα.

Κρατήστε τις Αποφάσεις Πρόσβασης στον Διακομιστή

Η σελίδα-ξενιστής δεν πρέπει ποτέ να αποφασίζει αν ένας χρήστης μπορεί να δει ένα έγγραφο. Πριν αποδώσετε τη διαδρομή προεπισκόπησης, η εφαρμογή πρέπει:

  1. Να ταυτοποιήσει το αίτημα.
  2. Να εξουσιοδοτήσει τον χρήστη για το ζητούμενο έγγραφο και ενοικιαστή.
  3. Να επιλύσει το έγγραφο μέσω ενός ελεγχόμενου από τον διακομιστή αναγνωριστικού.
  4. Να το ανοίξει μέσω του προβολέα μόνο αφού περάσουν οι έλεγχοι.
  5. Να επιστρέψει μια γενική κατάσταση «δεν βρέθηκε» ή «απαγορεύεται» χωρίς να διαρρέει λεπτομέρειες αποθήκευσης.

Ένα αδιαφανές αναγνωριστικό βελτιώνει την υγιεινή των URL, αλλά δεν αποτελεί εξουσιοδότηση. Εφαρμόστε τους ίδιους ελέγχους σε σελίδες, μικρογραφίες, αναζητήσεις, σημειώσεις, εξαγωγές και αιτήματα εκτύπωσης που εκθέτετε.

Αποφασίστε Πώς Θα Επικοινωνούν ο Ξενιστής και ο Προβολέας

Μια προβολή εφαρμογής μπορεί να καλέσει τα δικά της στοιχεία άμεσα. Ένα iframe χρειάζεται πιο στενό συμβόλαιο. Ορίστε μόνο τα γεγονότα που χρειάζεται πραγματικά ο ξενιστής, όπως:

  • Η προεπισκόπηση είναι έτοιμη
  • Αποτυχία ανοίγματος εγγράφου
  • Αλλαγή τρέχουσας σελίδας
  • Λήξη συνεδρίας
  • Ο χρήστης ζήτησε κλείσιμο της προεπισκόπησης

Αν χρησιμοποιείτε postMessage, επικυρώστε τόσο το event.origin όσο και το σχήμα του μηνύματος. Μην αποδέχεστε wildcard origins στην παραγωγή και ποτέ μην περνάτε διαπιστευτήρια, τοποθεσίες αποθήκευσης ή ακατέργαστο περιεχόμενο εγγράφου μέσω μηνυμάτων.

Θεωρήστε τους Περιορισμούς του Περιηγητή ως Άμυνα σε Βάθος

Ένα iframe δεν είναι αυτόματα απομονωμένο. Ένα χαρακτηριστικό sandbox μπορεί να μειώσει τις δυνατότητες, αλλά μια υπερβολικά αυστηρή τιμή μπορεί επίσης να σπάσει τα σενάρια του προβολέα, τις λήψεις ή τη συμπεριφορά same‑origin. Ξεκινήστε από το μικρότερο σύνολο δυνατοτήτων που τεκμηριώνεται για την ενσωμάτωσή σας και δοκιμάστε το με την Πολιτική Ασφάλειας Περιεχομένου (CSP).

Επιπλέον ελέγξτε:

  • frame-ancestors ή X-Frame-Options για τη διαδρομή προεπισκόπησης
  • frame-src για τη σελίδα-ξενιστή
  • Συμπεριφορά cookie same‑site αν το iframe απαιτεί συνεδρία
  • Πολιτική referrer για URL που περιέχουν αναγνωριστικά δρομολόγησης
  • Κεφαλίδες cache για σελίδες που εμφανίζουν ευαίσθητο υλικό

Αυτοί οι έλεγχοι ανήκουν στην περιβάλλουσα εφαρμογή και υποδομή. Ένα στοιχείο προβολέα δεν μπορεί να επιλέξει τη σωστή πολιτική για την ενοικίασή σας και το μοντέλο απειλών.

Σχεδιάστε Καταστάσεις Φόρτωσης, Σφάλματος και Λήξης

Ένα κενό ορθογώνιο δεν αποτελεί χρήσιμο μήνυμα σφάλματος. Δώστε στη σελίδα-ξενιστή σαφείς καταστάσεις για αποτυχία εξουσιοδότησης, μη υποστηριζόμενη είσοδο, κατεστραμμένα αρχεία, χρονικά όρια και ληγμένες συνεδρίες. Κρατήστε τη διατύπωση ενέργειας χωρίς να αποκαλύπτετε εσωτερικές διαδρομές ή λεπτομέρειες εξαιρέσεων.

Για μεγάλα έγγραφα, διατηρήστε το κοντέινερ του προβολέα ενώ η πρώτη σελίδα προετοιμάζεται. Αν οι χρήστες μπορούν να αλλάξουν έγγραφα χωρίς να φύγουν από τη σελίδα, ακυρώστε τα παλιά αιτήματα και επαναφέρετε τον ορατό τίτλο, τον αριθμό σελίδων και το focus πριν φορτώσετε το επόμενο αντικείμενο.

Προσβασιμότητα και Συμπεριφορά Πληκτρολογίου

Δώστε σε κάθε iframe ένα χρήσιμο title. Κάντε την προεπισκόπηση προσβάσιμη μέσω πληκτρολογίου, παρέχετε έναν ορατό τρόπο επιστροφής του focus στη σελίδα-ξενιστή, και μην παγιδεύετε το focus μέσα σε προσαρμοσμένα overlay. Αν ο προβολέας έχει τις δικές του συντομεύσεις πληκτρολογίου, τεκμηριώστε τις συγκρούσεις με τις συντομεύσεις που χρησιμοποιεί το κέλυφος του προϊόντος σας.

Μια προσβάσιμη εναλλακτική μπορεί να προσφέρει ελεγχόμενη λήψη ή εναλλακτική αναπαράσταση όταν οι επιχειρησιακοί κανόνες το επιτρέπουν. Μην προσθέτετε δημόσιο σύνδεσμο αρχείου μόνο ως εναλλακτική.

Μια Πρακτική Λίστα Ελέγχου Επαλήθευσης

Πριν την κυκλοφορία, επαληθεύστε ολόκληρη τη διαδρομή αιτήματος και όχι μόνο τη φόρτωση της αρχικής σελίδας:

  • Ένας εξουσιοδοτημένος χρήστης μπορεί να ανοίξει ένα επιτρεπόμενο έγγραφο.
  • Ένας χρήστης από διαφορετικό ενοικιαστή δεν μπορεί να επαναχρησιμοποιήσει το URL προεπισκόπησης.
  • Άμεσες κλήσεις σε endpoints σχετικούς με τον προβολέα λαμβάνουν τους ίδιους ελέγχους εξουσιοδότησης.
  • Ανανέωση, πλοήγηση πίσω και λήξη συνεδρίας παράγουν κατανοητές καταστάσεις.
  • Η προεπισκόπηση παραμένει λειτουργική σε υποστηριζόμενα μεγέθη προβολής και επίπεδα ζουμ.
  • Τα σφάλματα κονσόλας του προγράμματος περιήγησης και τα αποτυχημένα αιτήματα δικτύου είναι ορατά στην παρακολούθηση.
  • Τα logs αποθήκευσης και εφαρμογής δεν καταγράφουν μυστικά ή πλήρη URLs εγγράφων.

Συμπέρασμα

Η πιο συντηρήσιμη ενσωμάτωση του Doconut είναι αυτή με μικρό, σαφές συμβόλαιο. Αφήστε το Doconut να διαχειρίζεται το ρόλο προβολής εγγράφων όπως περιγράφεται στην έκδοση τεκμηρίωσης, ενώ η εφαρμογή σας διαχειρίζεται την ταυτοποίηση, την εξουσιοδότηση, τη δρομολόγηση, τη διατήρηση, την πολιτική του περιηγητή και την ανατροφοδότηση του χρήστη. Όταν είστε έτοιμοι να αξιολογήσετε τα πακέτα παραδειγμάτων τοπικά, χρησιμοποιήστε τους επίσημους πόρους λήψης του Doconut αντί να αντιγράψετε κώδικα από κάποιο μη σχετικό άρθρο.