บทแนะนำ: ฝัง Doconut Viewer อย่างปลอดภัยด้วย React – End to End
← Back to Blog3 min read

บทแนะนำ: ฝัง Doconut Viewer อย่างปลอดภัยด้วย React – End to End

การฝังตัวดูเอกสารอย่างปลอดภัยต้องการมากกว่าการคัดลอกโค้ดสแนปของมิดเดิลแวร์เข้าไปในแอปพลิเคชัน ASP.NET Core การบูรณาการต้องกำหนดขอบเขตที่ชัดเจนสำหรับการตรวจสอบสิทธิ์ การเข้าถึงเอกสาร การจัดการเซสชัน การเรนเดอร์ การทำหมายเหตุ การค้นหา การพิมพ์ และการบันทึกการตรวจสอบ

องค์กรที่สร้างพอร์ทัลที่เน้นเอกสาร—เช่น DMS, CRM, การตรวจสอบกฎหมาย หรือแอปพลิเคชันการวาดแบบวิศวกรรม—ก็ต้องการเก็บไฟล์ต้นฉบับไว้หลังขอบเขตของแอปพลิเคชัน Doconut รองรับโมเดลการดูแบบเซิร์ฟเวอร์‑ไซด์สำหรับเอกสาร PDF, Office, CAD, และรูปภาพ ในขณะที่ส่วนหน้า React สามารถให้ส่วนติดต่อผู้ใช้ได้

บทแนะนำนี้มุ่งเน้นที่สถาปัตยกรรมที่เชื่อถือได้และหลีกเลี่ยงการอ้างอิงชื่อแพ็กเกจ, คุณสมบัติของตัวเลือก, ลายเซ็นของเมธอด, และเส้นทาง endpoint ที่อาจแตกต่างกันระหว่างเวอร์ชันของ SDK ใช้เอกสารอย่างเป็นทางการที่ตรงกับเวอร์ชันที่คุณได้รับใบอนุญาตสำหรับรายละเอียดการลงทะเบียนและ API ที่แม่นยำ

สถาปัตยกรรมตัวดูเอกสารที่ปลอดภัยเชื่อมต่ออินเทอร์เฟซ React, ชั้นบริการ ASP.NET Core, และการประมวลผลเอกสารที่ได้รับการปกป้อง
สถาปัตยกรรมตัวดูเอกสารที่ปลอดภัยเชื่อมต่ออินเทอร์เฟซ React, ชั้นบริการ ASP.NET Core, และการประมวลผลเอกสารที่ได้รับการปกป้อง

1️⃣ ขั้นตอน 1 – เตรียมโครงการ ASP.NET Core และ React

ก่อนที่คุณจะเขียนโค้ดใด ๆ ตรวจสอบให้แน่ใจว่าสภาพแวดล้อมการพัฒนาของคุณตรงตามข้อกำหนดพื้นฐาน:

ข้อกำหนดเวอร์ชันที่แนะนำ
.NET runtime.NET 6 หรือใหม่กว่า
ASP.NET Core6.0+
IDEสภาพแวดล้อมการพัฒนา .NET ที่รองรับ
Front‑end (optional)แอปพลิเคชัน React ที่เข้ากันได้กับโครงการของคุณ
  1. สร้างโครงการ ASP.NET Core Web API ใหม่
 dotnet new webapi -n DocPortal
 cd DocPortal
  1. เพิ่ม dependencies ของ Doconut ที่ได้รับใบอนุญาต – รับชื่อแพ็กเกจที่แม่นยำ, เวอร์ชัน, dependencies ของเนทีฟ, และคำแนะนำการโหลดใบอนุญาตจากเอกสารอย่างเป็นทางการสำหรับรุ่น Doconut ของคุณ อย่าสันนิษฐานว่าแพ็กเกจหรือ wrapper ที่แสดงในบทแนะนำที่ไม่เกี่ยวข้องจะใช้ได้กับเวอร์ชันของคุณ

  2. เตรียมแอปพลิเคชัน React – หาก viewer จะถูกนำเสนอผ่าน React ให้ใช้การตั้งค่าส่วนหน้าที่ทีมของคุณได้อนุมัติแล้ว ทำให้แอปพลิเคชัน React พึ่งพา API ที่ได้รับการตรวจสอบสิทธิ์ของคุณเอง แทนการพึ่งพา wrapper ของบุคคลที่สามที่ไม่มีเอกสารอ้างอิง

  3. 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 มีประโยชน์ในระดับสถาปัตยกรรม แต่ลายเซ็นของคอนสตรัคเตอร์, เมธอดเปิดเอกสาร, ความต้องการแคช, และพฤติกรรมการค้นหาใบอนุญาตต้องอ้างอิงจากเอกสารของเวอร์ชันที่คุณติดตั้ง

ขอบเขตบริการที่ปลอดภัยควรทำดังนี้:

  1. รับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์และตัวระบุเอกสารระดับแอปพลิเคชัน
  2. ตรวจสอบสิทธิ์ของผู้ใช้สำหรับการกระทำที่ร้องขอ
  3. ดึงเอกสารจากที่เก็บข้อมูลด้านเซิร์ฟเวอร์ที่ได้รับการอนุมัติ
  4. เรียก API ของ viewer ที่ได้เอกสารอธิบายไว้เพื่อสร้างเซสชันเอกสาร
  5. ส่งคืนข้อมูลเซสชันที่เป็นออบเจกต์ไม่โปร่งใสที่จำเป็นต่อไคลเอนต์เท่านั้น
  6. ปล่อยหรือทำให้เซสชันหมดอายุตามนโยบายการเก็บรักษาและแคชของคุณ

เบราว์เซอร์จะต้องไม่รับเส้นทางการจัดเก็บจริง, ข้อมูลใบอนุญาต, คีย์แคชภายใน, หรือการอ้างอิงที่ไม่มีข้อจำกัดต่อเอกสารต้นฉบับ


4️⃣ ขั้นตอน 4 – เปิดใช้งานการทำหมายเหตุ, การค้นหาและการพิมพ์ที่ควบคุมได้

การทำหมายเหตุ, การค้นหา, OCR, และการพิมพ์ที่ควบคุมได้ควรเปิดใช้งานเฉพาะเมื่อรวมอยู่ในการกำหนดค่า Doconut ที่คุณได้รับใบอนุญาตและรองรับโดยเวอร์ชันที่ติดตั้ง อย่าสันนิษฐานชื่อเมธอด, รูปแบบการเก็บข้อมูล, หรือคลาสตัวเลือก

  • การทำหมายเหตุ – กำหนดบทบาทที่สามารถสร้าง, แก้ไข, ดู, หรือลบ markup ได้ จัดเก็บสถานะหมายเหตุตามแนวทางการคงสภาพของ SDK เวอร์ชันของคุณและตามข้อกำหนดการตรวจสอบขององค์กร
  • การค้นหาและ OCR – ระบุประเภทเอกสารที่ต้องการ OCR, ที่เก็บข้อความที่สกัดออกมา, และระยะเวลาที่ดัชนีจะคงอยู่ ให้ถือผลการค้นหาเป็นข้อมูลเอกสารและให้สิทธิ์ตามนั้น
  • การพิมพ์ที่ควบคุม – กำหนดขีดจำกัดหน้า, นโยบายลายน้ำ, กฎการอนุมัติ, และเหตุการณ์ตรวจสอบในระดับแอปพลิเคชัน แล้วแมปความต้องการเหล่านั้นกับความสามารถการพิมพ์ที่ได้อธิบายไว้ในเอกสาร

เก็บการดำเนินการเหล่านี้ไว้หลังบริการแอปพลิเคชันเดียวกับที่ใช้สำหรับเซสชันเอกสาร เพื่อให้คอนโทรลเลอร์มีความบางและกฎธุรกิจสามารถทดสอบได้ง่าย


5️⃣ ขั้นตอน 5 – เชื่อมต่อส่วนหน้า React

แอปพลิเคชัน React ควรเรียก API ASP.NET Core ที่ผ่านการตรวจสอบสิทธิ์ของคุณ แทนการรับเส้นทางการจัดเก็บหรือการเชื่อมต่อโดยตรงกับบริการเอกสารภายใน กำหนดสัญญา API ที่เป็นทรัพยากรตามการกระทำทางธุรกิจของคุณเองและหลีกเลี่ยงการเผยชื่อ endpoint ของ SDK เป็นส่วนหนึ่งของสัญญาคลไอเอนท์สาธารณะ

ลำดับการโต้ตอบที่เป็นแบบทั่วไปคือ:

  1. ผู้ใช้เลือกเอกสารที่ปรากฏอยู่แล้วในแอปพลิเคชัน
  2. React ขอเซสชันการดูโดยใช้ ID เอกสารระดับแอปพลิเคชัน
  3. ASP.NET Core ตรวจสอบคำขอ, ให้สิทธิ์เอกสาร, และประสานงานเซสชัน viewer
  4. React รับข้อมูลที่จำเป็นต่อการแสดง viewer เท่านั้น
  5. คำขอการทำหมายเหตุ, การค้นหา, และการพิมพ์ส่งกลับผ่าน API แอปพลิเคชันที่ผ่านการตรวจสอบสิทธิ์
  6. เซิร์ฟเวอร์บันทึกเหตุการณ์ตรวจสอบและทำให้เซสชันหมดอายุเมื่อเหมาะสม

ใน UI ของ React ให้เก็บสถานะเซสชันสั้น ๆ, จัดการข้อผิดพลาดการให้สิทธิ์อย่างชัดเจน, หลีกเลี่ยงการวางค่าที่สำคัญใน storage ของเบราว์เซอร์ที่คงอยู่, และแสดงสถานะการโหลดและข้อผิดพลาดที่ไม่เปิดเผยเส้นทางภายในหรือรายละเอียดของ exception

การแยกนี้ทำให้การเรนเดอร์และการควบคุมเอกสารอยู่บนเซิร์ฟเวอร์ ในขณะที่ React รับผิดชอบด้านการนำเสนอและการโต้ตอบ


สรุป

โดยการวางการบูรณาการ Doconut ไว้หลังบริการแอปพลิเคชัน ASP.NET Core ที่ปลอดภัย คุณสามารถสร้างพอร์ทัลเอกสารสำหรับ workflow ของ PDF, Office, CAD, และรูปภาพโดยไม่ต้องผูกส่วนหน้า React กับรายละเอียด SDK ที่ไม่มีเอกสาร การตรวจสอบสิทธิ์, การให้สิทธิ์, วัฏจักรเซสชัน, การค้นหา, การทำหมายเหตุ, การพิมพ์, และนโยบายการตรวจสอบจะยังคงเป็นส่วนที่ชัดเจนของการออกแบบแอปพลิเคชันของคุณ

พร้อมที่จะประเมิน Doconut สำหรับโครงการ .NET ของคุณหรือยัง? ใช้แพ็กเกจ, ใบอนุญาต, และเอกสาร API อย่างเป็นทางการสำหรับเวอร์ชันที่คุณเลือก แล้วนำรายการตรวจสอบสถาปัตยกรรมและความปลอดภัยด้านบนไปใช้กับการดำเนินการของคุณ.

#Doconut#.NET#document viewer#React#enterprise development#ตัวดูเอกสาร#การพัฒนาองค์กร