
บทแนะนำ: ฝัง Doconut Viewer อย่างปลอดภัยด้วย React – End to End
การฝังตัวดูเอกสารอย่างปลอดภัยต้องการมากกว่าการคัดลอกโค้ดสแนปของมิดเดิลแวร์เข้าไปในแอปพลิเคชัน ASP.NET Core การบูรณาการต้องกำหนดขอบเขตที่ชัดเจนสำหรับการตรวจสอบสิทธิ์ การเข้าถึงเอกสาร การจัดการเซสชัน การเรนเดอร์ การทำหมายเหตุ การค้นหา การพิมพ์ และการบันทึกการตรวจสอบ
องค์กรที่สร้างพอร์ทัลที่เน้นเอกสาร—เช่น DMS, CRM, การตรวจสอบกฎหมาย หรือแอปพลิเคชันการวาดแบบวิศวกรรม—ก็ต้องการเก็บไฟล์ต้นฉบับไว้หลังขอบเขตของแอปพลิเคชัน Doconut รองรับโมเดลการดูแบบเซิร์ฟเวอร์‑ไซด์สำหรับเอกสาร PDF, Office, CAD, และรูปภาพ ในขณะที่ส่วนหน้า React สามารถให้ส่วนติดต่อผู้ใช้ได้
บทแนะนำนี้มุ่งเน้นที่สถาปัตยกรรมที่เชื่อถือได้และหลีกเลี่ยงการอ้างอิงชื่อแพ็กเกจ, คุณสมบัติของตัวเลือก, ลายเซ็นของเมธอด, และเส้นทาง endpoint ที่อาจแตกต่างกันระหว่างเวอร์ชันของ SDK ใช้เอกสารอย่างเป็นทางการที่ตรงกับเวอร์ชันที่คุณได้รับใบอนุญาตสำหรับรายละเอียดการลงทะเบียนและ API ที่แม่นยำ

1️⃣ ขั้นตอน 1 – เตรียมโครงการ ASP.NET Core และ React
ก่อนที่คุณจะเขียนโค้ดใด ๆ ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการพัฒนาของคุณตรงตามข้อกำหนดพื้นฐาน:
| ข้อกำหนด | เวอร์ชันที่แนะนำ |
|---|---|
| .NET runtime | .NET 6 หรือใหม่กว่า |
| ASP.NET Core | 6.0+ |
| IDE | สภาพแวดล้อมการพัฒนา .NET ที่รองรับ |
| Front‑end (optional) | แอปพลิเคชัน React ที่เข้ากันได้กับโครงการของคุณ |
- สร้างโครงการ ASP.NET Core Web API ใหม่
dotnet new webapi -n DocPortal
cd DocPortal
-
เพิ่ม dependencies ของ Doconut ที่ได้รับใบอนุญาต – รับชื่อแพ็กเกจที่แม่นยำ, เวอร์ชัน, dependencies ของเนทีฟ, และคำแนะนำการโหลดใบอนุญาตจากเอกสารอย่างเป็นทางการสำหรับรุ่น Doconut ของคุณ อย่าสันนิษฐานว่าแพ็กเกจหรือ wrapper ที่แสดงในบทแนะนำที่ไม่เกี่ยวข้องจะใช้ได้กับเวอร์ชันของคุณ
-
เตรียมแอปพลิเคชัน React – หาก viewer จะถูกนำเสนอผ่าน React ให้ใช้การตั้งค่าส่วนหน้าที่ทีมของคุณได้อนุมัติแล้ว ทำให้แอปพลิเคชัน React พึ่งพา API ที่ได้รับการตรวจสอบสิทธิ์ของคุณเอง แทนการพึ่งพา wrapper ของบุคคลที่สามที่ไม่มีเอกสารอ้างอิง
-
Commit สถานะเริ่มต้น – ทีมองค์กรส่วนใหญ่บังคับใช้แนวทาง Git ที่ต้องการ commit ที่ลงลายเซ็นสำหรับการเปลี่ยนแปลงใด ๆ ที่เกี่ยวกับการตั้งค่าลิขสิทธิ์หรือความปลอดภัย
ตอนนี้คุณมีโซลูชันที่สะอาดพร้อมสำหรับการบูรณาการเซิร์ฟเวอร์ Doconut ที่ได้เอกสารอ้างอิงแล้ว
2️⃣ ขั้นตอน 2 – กำหนดค่าการบูรณาการเซิร์ฟเวอร์อย่างปลอดภัย
ลงทะเบียน viewer ตามคำแนะนำที่มาพร้อมกับเวอร์ชัน Doconut ที่ตรงกับโครงการของคุณ ลำดับของมิดเดิลแวร์, การลงทะเบียนบริการ, การเริ่มต้นใบอนุญาต, และชื่อคุณสมบัติของการกำหนดค่าต่าง ๆ เป็นรายละเอียดที่ขึ้นกับเวอร์ชันและไม่ควรคัดลอกจากตัวอย่างที่ไม่ได้รับการตรวจสอบ
ไม่ว่ารุ่น SDK จะเป็นอะไร แอปพลิเคชัน ASP.NET Core ควรบังคับใช้การควบคุมต่อไปนี้:
- ตรวจสอบสิทธิ์ก่อนเปิดเอกสาร – เซสชัน viewer จะต้องไม่ข้ามชั้นการตรวจสอบตัวตนของแอปพลิเคชัน
- แก้ไขตัวระบุเอกสารบนเซิร์ฟเวอร์ – ยอมรับ ID เอกสารระดับแอปพลิเคชัน ไม่ใช่เส้นทางไฟล์จริงที่ส่งมาจากเบราว์เซอร์
- ให้สิทธิ์กับทุกการดำเนินการ – การดู, การทำหมายเหตุ, การค้นหา, การดาวน์โหลด, และการพิมพ์อาจต้องการสิทธิ์ที่แตกต่างกัน
- เก็บความลับนอกการควบคุมเวอร์ชัน – เก็บใบอนุญาต, connection strings, และข้อมูลการเข้ารหัสในกลไกการจัดการความลับที่ได้รับการอนุมัติ
- กำหนดขีดจำกัดของคำขอ – ตั้งค่าขีดจำกัดการอัปโหลด, ขนาดเอกสาร, timeout, และอัตราการเรียกใช้ที่เหมาะสมกับ workflow ของ viewer
- บันทึกเหตุการณ์ด้านความปลอดภัย – บันทึกการตัดสินใจเข้าถึงและการกระทำกับเอกสารโดยไม่เขียนเนื้อหาเอกสารหรือโทเค็นที่สำคัญลงใน log
ถือว่าการตั้งค่า SDK ทั้งหมดเป็นการกำหนดค่าที่มีเวอร์ชัน ตรวจสอบความหมายของแต่ละค่าในเอกสารอ้างอิงอย่างเป็นทางการก่อนเปิดใช้งานในสภาพแวดล้อมการผลิต
3️⃣ ขั้นตอน 3 – แยกเซสชันเอกสารออกจากบริการแอปพลิเคชัน
เก็บการโต้ตอบที่เฉพาะกับ Doconut ไว้ในบริการแอปพลิเคชันที่แยกออก References ไปยังคลาส Viewer มีประโยชน์ในระดับสถาปัตยกรรม แต่ลายเซ็นของคอนสตรัคเตอร์, เมธอดเปิดเอกสาร, ความต้องการแคช, และพฤติกรรมการค้นหาใบอนุญาตต้องอ้างอิงจากเอกสารของเวอร์ชันที่คุณติดตั้ง
ขอบเขตบริการที่ปลอดภัยควรทำดังนี้:
- รับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์และตัวระบุเอกสารระดับแอปพลิเคชัน
- ตรวจสอบสิทธิ์ของผู้ใช้สำหรับการกระทำที่ร้องขอ
- ดึงเอกสารจากที่เก็บข้อมูลด้านเซิร์ฟเวอร์ที่ได้รับการอนุมัติ
- เรียก API ของ viewer ที่ได้เอกสารอธิบายไว้เพื่อสร้างเซสชันเอกสาร
- ส่งคืนข้อมูลเซสชันที่เป็นออบเจกต์ไม่โปร่งใสที่จำเป็นต่อไคลเอนต์เท่านั้น
- ปล่อยหรือทำให้เซสชันหมดอายุตามนโยบายการเก็บรักษาและแคชของคุณ
เบราว์เซอร์จะต้องไม่รับเส้นทางการจัดเก็บจริง, ข้อมูลใบอนุญาต, คีย์แคชภายใน, หรือการอ้างอิงที่ไม่มีข้อจำกัดต่อเอกสารต้นฉบับ
4️⃣ ขั้นตอน 4 – เปิดใช้งานการทำหมายเหตุ, การค้นหาและการพิมพ์ที่ควบคุมได้
การทำหมายเหตุ, การค้นหา, OCR, และการพิมพ์ที่ควบคุมได้ควรเปิดใช้งานเฉพาะเมื่อรวมอยู่ในการกำหนดค่า Doconut ที่คุณได้รับใบอนุญาตและรองรับโดยเวอร์ชันที่ติดตั้ง อย่าสันนิษฐานชื่อเมธอด, รูปแบบการเก็บข้อมูล, หรือคลาสตัวเลือก
- การทำหมายเหตุ – กำหนดบทบาทที่สามารถสร้าง, แก้ไข, ดู, หรือลบ markup ได้ จัดเก็บสถานะหมายเหตุตามแนวทางการคงสภาพของ SDK เวอร์ชันของคุณและตามข้อกำหนดการตรวจสอบขององค์กร
- การค้นหาและ OCR – ระบุประเภทเอกสารที่ต้องการ OCR, ที่เก็บข้อความที่สกัดออกมา, และระยะเวลาที่ดัชนีจะคงอยู่ ให้ถือผลการค้นหาเป็นข้อมูลเอกสารและให้สิทธิ์ตามนั้น
- การพิมพ์ที่ควบคุม – กำหนดขีดจำกัดหน้า, นโยบายลายน้ำ, กฎการอนุมัติ, และเหตุการณ์ตรวจสอบในระดับแอปพลิเคชัน แล้วแมปความต้องการเหล่านั้นกับความสามารถการพิมพ์ที่ได้อธิบายไว้ในเอกสาร
เก็บการดำเนินการเหล่านี้ไว้หลังบริการแอปพลิเคชันเดียวกับที่ใช้สำหรับเซสชันเอกสาร เพื่อให้คอนโทรลเลอร์มีความบางและกฎธุรกิจสามารถทดสอบได้ง่าย
5️⃣ ขั้นตอน 5 – เชื่อมต่อส่วนหน้า React
แอปพลิเคชัน React ควรเรียก API ASP.NET Core ที่ผ่านการตรวจสอบสิทธิ์ของคุณ แทนการรับเส้นทางการจัดเก็บหรือการเชื่อมต่อโดยตรงกับบริการเอกสารภายใน กำหนดสัญญา API ที่เป็นทรัพยากรตามการกระทำทางธุรกิจของคุณเองและหลีกเลี่ยงการเผยชื่อ endpoint ของ SDK เป็นส่วนหนึ่งของสัญญาคลไอเอนท์สาธารณะ
ลำดับการโต้ตอบที่เป็นแบบทั่วไปคือ:
- ผู้ใช้เลือกเอกสารที่ปรากฏอยู่แล้วในแอปพลิเคชัน
- React ขอเซสชันการดูโดยใช้ ID เอกสารระดับแอปพลิเคชัน
- ASP.NET Core ตรวจสอบคำขอ, ให้สิทธิ์เอกสาร, และประสานงานเซสชัน viewer
- React รับข้อมูลที่จำเป็นต่อการแสดง viewer เท่านั้น
- คำขอการทำหมายเหตุ, การค้นหา, และการพิมพ์ส่งกลับผ่าน API แอปพลิเคชันที่ผ่านการตรวจสอบสิทธิ์
- เซิร์ฟเวอร์บันทึกเหตุการณ์ตรวจสอบและทำให้เซสชันหมดอายุเมื่อเหมาะสม
ใน UI ของ React ให้เก็บสถานะเซสชันสั้น ๆ, จัดการข้อผิดพลาดการให้สิทธิ์อย่างชัดเจน, หลีกเลี่ยงการวางค่าที่สำคัญใน storage ของเบราว์เซอร์ที่คงอยู่, และแสดงสถานะการโหลดและข้อผิดพลาดที่ไม่เปิดเผยเส้นทางภายในหรือรายละเอียดของ exception
การแยกนี้ทำให้การเรนเดอร์และการควบคุมเอกสารอยู่บนเซิร์ฟเวอร์ ในขณะที่ React รับผิดชอบด้านการนำเสนอและการโต้ตอบ
สรุป
โดยการวางการบูรณาการ Doconut ไว้หลังบริการแอปพลิเคชัน ASP.NET Core ที่ปลอดภัย คุณสามารถสร้างพอร์ทัลเอกสารสำหรับ workflow ของ PDF, Office, CAD, และรูปภาพโดยไม่ต้องผูกส่วนหน้า React กับรายละเอียด SDK ที่ไม่มีเอกสาร การตรวจสอบสิทธิ์, การให้สิทธิ์, วัฏจักรเซสชัน, การค้นหา, การทำหมายเหตุ, การพิมพ์, และนโยบายการตรวจสอบจะยังคงเป็นส่วนที่ชัดเจนของการออกแบบแอปพลิเคชันของคุณ
พร้อมที่จะประเมิน Doconut สำหรับโครงการ .NET ของคุณหรือยัง? ใช้แพ็กเกจ, ใบอนุญาต, และเอกสาร API อย่างเป็นทางการสำหรับเวอร์ชันที่คุณเลือก แล้วนำรายการตรวจสอบสถาปัตยกรรมและความปลอดภัยด้านบนไปใช้กับการดำเนินการของคุณ.