
آموزش: جاسازی ایمن Doconut Viewer با React – از ابتدا تا انتها
جاسازی ایمن یک نمایشگر سند نیاز به بیش از کپی کردن یک قطعه میدلور در برنامه ASP.NET Core دارد. یکپارچهسازی باید مرزهای واضحی برای احراز هویت، دسترسی به سند، مدیریت نشست، رندرینگ، حاشیهنویسی، جستجو، چاپ و ثبت لاگهای حسابرسی تعریف کند.
سازمانهایی که پورتالهای متمرکز بر سند میسازند—مانند DMS، CRM، مرور قانونی یا برنامههای نقشهکشی مهندسی—نیاز دارند فایلهای اصلی را پشت مرز برنامه نگه دارند. Doconut یک مدل مشاهده سمت‑سرور برای اسناد PDF، Office، CAD و تصویر را پشتیبانی میکند، در حالی که یک رابط React میتواند رابط کاربری را فراهم کند.
این آموزش بر روی معماری قابل اطمینان متمرکز است و عمداً از نامهای بسته، ویژگیهای گزینه، امضای متدها و مسیرهای نقطهٔ انتهایی که ممکن است بین نسخههای 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
-
افزودن وابستگیهای دارای مجوز Doconut – نامهای دقیق بستهها، نسخهها، وابستگیهای بومی و دستورالعملهای بارگذاری مجوز را از مستندات رسمی برای نسخهٔ Doconut خود دریافت کنید. فرض نکنید که بسته یا رپر نشاندادهشده در یک آموزش نامرتبط برای نسخهٔ شما اعمال میشود.
-
آمادهسازی برنامهٔ React – اگر نمایشگر از طریق React ارائه میشود، از تنظیمات فرانت‑اندی که تیم شما پیشتر تأیید کرده استفاده کنید. برنامهٔ React را به API احراز هویتشدهٔ خود وابسته کنید و از رپرهای شخص ثالث غیرمستند خودداری کنید.
-
ثبت وضعیت اولیه – اکثر تیمهای سازمانی یک سیاست گیت دارند که برای هر تغییری که به مجوزها یا تنظیمات امنیتی مربوط میشود، یک کامیت امضا شده را الزامی میکند.
اکنون یک راهحل تمیز دارید که برای یکپارچهسازی سرور Doconut مستند آماده است.
2️⃣ گام 2 – پیکربندی یکپارچهسازی سرور بهصورت ایمن
نمایشگر را با استفاده از دستورالعملهای ارائهشده برای نسخهٔ دقیق Doconut در پروژهٔ خود ثبت کنید. ترتیب میدلور، ثبت سرویسها، مقداردهی اولیهٔ مجوز و نامهای ویژگیهای پیکربندی جزئیات خاص نسخه هستند و نباید از مثالهای غیرمورد تأیید کپی شوند.
صرفنظر از نسخهٔ SDK، برنامهٔ ASP.NET Core اطراف باید این کنترلها را اعمال کند:
- احراز هویت قبل از باز کردن سند – یک نشست نمایشگر هرگز نباید لایهٔ هویت برنامه را دور بزند.
- شناسایی شناسههای سند در سرور – بهجای مسیر فیزیکی فایل که توسط مرورگر ارائه میشود، یک شناسهٔ سند سطح برنامه را بپذیرید.
- مجوزدهی برای هر عملیات – مشاهده، حاشیهنویسی، جستجو، دانلود و چاپ ممکن است نیاز به سطوح دسترسی متفاوتی داشته باشند.
- نگهداری اسرار خارج از کنترل منبع – مجوزها، رشتههای اتصال و مواد رمزنگاری را در مکانیزم مدیریت اسرار تأییدشده ذخیره کنید.
- اعمال محدودیتهای درخواست – محدودیتهای مناسب برای بارگذاری، حجم سند، زمان‑انتظار و نرخ درخواست را در اطراف گردش کار نمایشگر تنظیم کنید.
- ثبت رویدادهای امنیتی – تصمیمات دسترسی و اقدامات سند را لاگ کنید بدون اینکه محتوای سند یا توکنهای حساس را در لاگها بنویسید.
تمام تنظیمات SDK را بهعنوان پیکربندی نسخهبندیشده در نظر بگیرید. پیش از فعالسازی در محیط تولید، معنای آنها را در مرجع رسمی تأیید کنید.
3️⃣ گام 3 – ایزولهسازی نشستهای سند پشت یک سرویس برنامهای
تعاملات خاص Doconut را در یک سرویس برنامهای اختصاصی نگه دارید. ارجاع به کلاس Viewer در سطح معماری مفید است، اما امضای سازندهها، متدهای باز کردن سند، نیازهای کش و رفتار کشف مجوز باید از مستندات نسخهٔ نصبشدهٔ شما بیاید.
یک مرز سرویس ایمن باید:
- یک کاربر احراز هویتشده و یک شناسهٔ سند سطح برنامه را دریافت کند.
- مجوز کاربر برای عمل درخواستشده را بررسی کند.
- سند را از ذخیرهسازی سرور‑ساید تأییدشده بازیابی کند.
- از API مستند نمایشگر برای ایجاد یک نشست سند درخواست کند.
- تنها حداقل اطلاعات جلسهٔ مبهم مورد نیاز کلاینت را برگرداند.
- جلسات را بر اساس سیاستهای نگهداری و کش شما آزاد یا منقضی کند.
مرورگر هرگز نباید مسیر فیزیکی ذخیرهسازی، دادههای مجوز، کلید کش داخلی یا ارجاع نامحدود به سند اصلی را دریافت کند.
4️⃣ گام 4 – فعالسازی حاشیهنویسی، جستجو و چاپ کنترلشده
حاشیهنویسی، جستجو، OCR و چاپ کنترلشده باید فقط زمانی فعال شوند که در پیکربندی مجوزدار Doconut شما گنجانده شده و توسط نسخهٔ نصبشده پشتیبانی شوند. از فرض نامهای متد، فرمتهای نگهداری یا کلاسهای گزینه خودداری کنید.
- حاشیهنویسی – تعیین کنید کدام نقشها میتوانند علامتگذاری ایجاد، ویرایش، مشاهده یا حذف کنند. وضعیت حاشیهنویسی را مطابق راهنمای نگهداری برای نسخهٔ SDK خود و الزامات حسابرسی خود ذخیره کنید.
- جستجو و OCR – مشخص کنید کدام انواع سند به OCR نیاز دارند، متن استخراجشده کجا نگهداری میشود و مدت زمان ایندکسها تا چه زمانی در دسترس هستند. نتایج جستجو را بهعنوان دادهٔ سند در نظر بگیرید و بر اساس آنها مجوزدهی کنید.
- چاپ کنترلشده – محدودیتهای صفحه، سیاست واترمارک، قوانین تأیید و رویدادهای حسابرسی را در سطح برنامه تعریف کنید، سپس این الزامات را به قابلیتهای چاپ مستند نگاشت کنید.
این عملیاتها را پشت همان سرویس برنامهای که برای نشستهای سند استفاده میشود نگه دارید تا کنترلرها نازک بمانند و قوانین تجاری تستپذیر بمانند.
5️⃣ گام 5 – اتصال رابط کاربری React
برنامهٔ React باید به API احراز هویتشدهٔ ASP.NET Core شما فراخوانی کند نه اینکه مسیرهای ذخیرهسازی را بپذیرد یا مستقیماً به سرویسهای داخلی سند متصل شود. قرارداد API مبتنی بر منابع خود را حول اقدامات تجاری تعریف کنید و از انتشار نامهای نقطهٔ انتهایی خاص SDK بهعنوان بخشی از قرارداد عمومی کلاینت خود خودداری کنید.
یک توالی تعامل معمولی به این شکل است:
- کاربر سندی را که قبلاً در برنامه قابل مشاهده است، انتخاب میکند.
- React برای ایجاد یک نشست مشاهده با استفاده از شناسهٔ برنامهای سند درخواست میکند.
- ASP.NET Core درخواست را احراز هویت میکند، سند را مجاز میسازد و نشست نمایشگر را هماهنگ میکند.
- React تنها اطلاعات مورد نیاز برای نمایش نمایشگر را دریافت میکند.
- درخواستهای حاشیهنویسی، جستجو و چاپ از طریق API احراز هویتشدهٔ برنامه باز میگردند.
- سرور رویدادهای حسابرسی را ثبت میکند و در زمان مناسب نشست را منقضی میکند.
در UI React، وضعیت نشست را کوتاهمدت نگه دارید، خطاهای عدم مجوز را بهصورت صریح مدیریت کنید، از قرار دادن مقادیر حساس در ذخیرهسازی دائمی مرورگر خودداری کنید و حالتهای بارگذاری و خطا را ارائه دهید که مسیرهای داخلی یا جزئیات استثنا را فاش نکنند.
این جداسازی رندرینگ و کنترلهای سند را در سرور نگه میدارد در حالی که React مسئول ارائه و تعامل میماند.
نتیجهگیری
با قرار دادن یکپارچهسازی Doconut پشت یک سرویس برنامهای امن ASP.NET Core، میتوانید یک پورتال سند برای جریانهای کاری PDF، Office، CAD و تصویر بسازید بدون اینکه رابط React را به جزئیات غیرمستند SDK متصل کنید. احراز هویت، مجوزدهی، چرخهٔ حیات نشست، جستجو، حاشیهنویسی، چاپ و سیاست حسابرسی همچنان بخشهای صریحی از طراحی برنامهٔ شما باقی میمانند.
آمادهاید Doconut را برای پروژهٔ .NET خود ارزیابی کنید؟ از بستهٔ رسمی، مجوزها و مستندات API برای نسخهٔ انتخابی خود استفاده کنید، سپس چکلیست معماری و امنیتی بالا را بر پیادهسازی خود اعمال کنید.