Thiết kế quy trình tài liệu chỉ xem với Doconut
7/31/2026

Thiết kế quy trình tài liệu chỉ xem với Doconut

Tìm hiểu cách thiết kế quy trình tài liệu chỉ xem trong ASP.NET bằng cách sử dụng ủy quyền phía máy chủ, lưu trữ kiểm soát, ghi audit và các cài đặt trình xem Doconut được tài liệu hoá.

Việc loại bỏ nút tải xuống có thể hỗ trợ một quy trình chỉ xem, nhưng nó không làm cho tài liệu hiển thị không thể sao chép. Một triển khai an toàn cần có ủy quyền phía máy chủ, lưu trữ được bảo vệ, phiên ngắn hạn, ghi nhật ký cẩn thận, và hiểu rõ những gì các hạn chế giao diện người dùng có thể đạt được.

Doconut cung cấp một trình xem tài liệu .NET nhúng cho các ứng dụng doanh nghiệp. Hướng dẫn này giải thích thiết kế bảo mật xung quanh mà không công bố các thuộc tính cấu hình được đoán hoặc mã nguồn Doconut chưa được tài liệu hoá.

Các biện pháp phòng thủ sâu bảo vệ trình xem tài liệu nhúng và hạn chế các hành động xuất
Các biện pháp phòng thủ sâu bảo vệ trình xem tài liệu nhúng và hạn chế các hành động xuất

1. Định nghĩa “Chỉ xem” có nghĩa là gì

Bắt đầu với một chính sách chính xác. Các nhóm khác nhau có thể dùng “chỉ xem” để chỉ:

  • Không cung cấp tệp gốc để tải xuống.
  • Không hiển thị hành động xuất.
  • Không cho phép in.
  • Chỉ cho phép xem trong một phiên được ủy quyền.
  • Ngăn người dùng truy cập trực tiếp vị trí lưu trữ.
  • Thêm bản ghi audit khi tài liệu được mở.

Đây là các kiểm soát riêng biệt. Hãy quyết định những gì cần thiết và xác minh rằng sản phẩm Doconut, plugin và giấy phép bạn chọn hỗ trợ hành vi trình xem bạn cần.

Không bao giờ hứa rằng một tài liệu hiển thị không thể bị ghi lại. Ảnh chụp màn hình, máy ảnh, công cụ trợ năng, khả năng của trình duyệt và quyền truy cập được ủy quyền vào các pixel hiển thị khiến việc ngăn chặn tuyệt đối trở nên không thực tế.


2. Bảo vệ tệp gốc

Tài liệu gốc nên được giữ trong lưu trữ bảo vệ phía máy chủ.

Sử dụng:

  • Định danh tài liệu được tạo bởi máy chủ
  • Quyền lưu trữ bị hạn chế
  • Mã hoá khi lưu trữ khi cần
  • Chính sách lưu trữ được tài liệu hoá
  • Quyền riêng biệt cho tải lên, xem, xuất và quản trị

Không gửi thông tin đăng nhập lưu trữ, đường dẫn tệp không giới hạn, hoặc URL công khai vĩnh viễn cho client.


3. Ủy quyền mọi yêu cầu tài liệu

Trong ASP.NET Core, bảo vệ route trình xem bằng các cơ chế xác thực và ủy quyền tiêu chuẩn.

Máy chủ nên xác minh:

  1. Người dùng đã được xác thực.
  2. Tài liệu tồn tại.
  3. Người dùng được phép xem tài liệu cụ thể đó.
  4. Hành động yêu cầu được phép cho vai trò và trạng thái quy trình hiện tại của người dùng.

Thuộc tính [Authorize] có thể bảo vệ một route, trong khi các policy, claim hoặc ủy quyền dựa trên tài nguyên có thể đưa ra quyết định riêng cho từng tài liệu.

Ủy quyền cũng phải bao phủ bất kỳ endpoint nào trả về dữ liệu tài liệu, trang, xuất, chú thích, hoặc kết quả in. Bảo vệ chỉ trang đầu tiên để lại các route thay thế bị lộ.


4. Tách quyền xem và tải xuống

Mô hình quyền một cách rõ ràng thay vì suy ra chúng từ một nút ẩn.

Ví dụ:

  • CanViewDocument
  • CanDownloadOriginal
  • CanExportDocument
  • CanPrintDocument
  • CanManageDocument

Những tên này mô tả chính sách ứng dụng, không phải API của Doconut. Lớp ủy quyền của bạn nên đánh giá chúng trên máy chủ trước khi thực hiện hành động tương ứng.

Một quản trị viên có thể có quyền tải xuống trong khi một người dùng đã xác thực khác chỉ có quyền xem. Cả hai người dùng có thể chia sẻ cùng một trang ứng dụng nhưng nhận được các khả năng được ủy quyền khác nhau.


5. Cấu hình trình xem từ tài liệu chính thức

Chỉ sử dụng các tên cấu hình và các bước tích hợp được tài liệu hoá cho phiên bản Doconut chính xác được cài đặt trong ứng dụng của bạn.

Trang trang Trình xem Doconut trang Trình xem Doconut cung cấp thông tin sản phẩm hiện tại. Trang trang tải xuống và tài liệu Doconut trang tải xuống và tài liệu Doconut cung cấp tài nguyên cài đặt và các ví dụ theo phiên bản.

Nếu sản phẩm đã cài đặt cung cấp một cài đặt hỗ trợ để ẩn hoặc vô hiệu hoá hành động tải xuống:

  1. Áp dụng nó theo tài liệu chính thức.
  2. Xem nó như một kiểm soát giao diện người dùng và quy trình làm việc.
  3. Giữ endpoint máy chủ liên quan được bảo vệ.
  4. Kiểm tra rằng người dùng không được ủy quyền không thể vượt qua bằng một yêu cầu trực tiếp.

Không sao chép các thuộc tính cấu hình được đoán từ một bài viết không liên quan và cho rằng chúng được hỗ trợ.


6. Giữ tích hợp trình xem phía sau một dịch vụ

Một dịch vụ ứng dụng chuyên dụng có thể:

  • Xác định tài liệu đã được ủy quyền
  • Mở nó thông qua một abstraction lưu trữ được phê duyệt
  • Áp dụng cấu hình trình xem được hỗ trợ
  • Giải phóng stream và tài nguyên tạm thời
  • Ghi lại các sự kiện audit đã được làm sạch
  • Trả về lỗi an toàn cho controller

Điều này giữ chi tiết SDK ra khỏi các policy ủy quyền và mã trình bày.

Các kiểu .NET tiêu chuẩn như Stream, FileStream, CancellationToken và các dịch vụ được tiêm phụ thuộc có thể tạo ra ranh giới ứng dụng xung quanh. Tuân theo tài liệu của Doconut cho các cuộc gọi vào SDK.


7. Áp dụng phòng thủ sâu

Một quy trình chỉ xem có thể bao gồm:

  • Xác thực và ủy quyền ở mức tài nguyên
  • Cách ly mạng và lưu trữ
  • Thời gian phiên ngắn
  • Các route xuất và in bị hạn chế
  • Đánh dấu bản quyền khi được hỗ trợ và phù hợp
  • Sự kiện audit cho việc truy cập tài liệu
  • Giới hạn tần suất và kiểm soát đồng thời
  • Quy tắc lưu trữ và dọn dẹp rõ ràng
  • Giám sát bảo mật cho các mẫu truy cập bất thường

Không có kiểm soát nào đơn lẻ là đủ. Một nút ẩn mà không có bảo vệ máy chủ đặc biệt dễ bị bỏ qua.


8. Ghi nhật ký truy cập mà không rò rỉ dữ liệu

Các trường audit hữu ích bao gồm:

  • Định danh tài liệu trong ứng dụng
  • Định danh người dùng đã ủy quyền
  • Thời gian
  • Hành động được yêu cầu
  • Kết quả
  • Định danh tương quan
  • Lý do đã được làm sạch cho việc từ chối hoặc lỗi

Tránh ghi lại:

  • Nội dung tài liệu
  • Thông tin đăng nhập lưu trữ
  • Token truy cập
  • URL nhạy cảm
  • Đường dẫn máy chủ đầy đủ
  • Thông tin cá nhân không cần thiết

Bảo vệ nhật ký audit theo mức độ nhạy cảm và yêu cầu lưu trữ.


9. Kiểm tra các cố gắng vượt qua giao diện người dùng

Không dừng lại chỉ khi xác nhận rằng nút thanh công cụ không xuất hiện.

Kiểm tra xem người dùng chỉ xem có thể:

  • Yêu cầu trực tiếp route tệp gốc
  • Gọi route xuất hoặc in
  • Thay đổi định danh tài liệu
  • Tái sử dụng một phiên đã hết hạn
  • Truy cập tài liệu của người dùng khác
  • Phát hiện URL lưu trữ trong markup hoặc phản hồi mạng
  • Kích hoạt lỗi chi tiết tiết lộ đường dẫn nội bộ
  • Giữ quyền truy cập sau khi quyền của họ bị thu hồi

Bao gồm cả các bài kiểm tra ủy quyền tự động và kiểm tra thủ công bằng trình duyệt.


10. Đặt kỳ vọng người dùng chính xác

Giải thích chính sách làm gì:

  • Nó giới hạn các workflow tải xuống hoặc xuất do ứng dụng cung cấp.
  • Nó hạn chế truy cập chỉ cho người dùng được ủy quyền.
  • Nó có thể ghi lại các sự kiện xem.
  • Nó giữ tệp gốc phía sau các kiểm soát máy chủ.

Cũng giải thích những gì nó không thể đảm bảo:

  • Nó không thể ngăn chặn việc chụp ảnh hoặc screenshot trong mọi môi trường.
  • Nó không thể thu hồi thông tin đã được nhìn và ghi nhớ.
  • Nó không thay thế các kiểm soát bảo mật hợp đồng, tổ chức hoặc đầu cuối.

Sự phân biệt này làm cho sản phẩm đáng tin cậy hơn và giúp các bên liên quan chọn các kiểm soát phù hợp cho tài liệu cực kỳ nhạy cảm.


Danh sách kiểm tra xác nhận

  • Việc xem và tải xuống sử dụng các quyền máy chủ riêng biệt.
  • Mọi yêu cầu tài liệu thực hiện ủy quyền ở mức tài nguyên.
  • Tệp gốc không có URL công khai vĩnh viễn.
  • Cài đặt trình xem đến từ tài liệu cho phiên bản Doconut đã cài đặt.
  • Các hành động ẩn có endpoint máy chủ được bảo vệ.
  • Dữ liệu tạm thời có quy trình dọn dẹp được định nghĩa.
  • Nhật ký audit tránh nội dung tài liệu và bí mật.
  • Các yêu cầu trực tiếp không được ủy quyền được bao phủ bởi các bài kiểm tra.
  • Phản hồi lỗi không lộ chi tiết lưu trữ nội bộ.
  • Bản sao sản phẩm không khẳng định ngăn chặn sao chép tuyệt đối.

Nơi Doconut phù hợp

Doconut cung cấp lớp xem nhúng trong ứng dụng .NET. Ứng dụng của bạn vẫn chịu trách nhiệm về danh tính, ủy quyền, quyền, lưu trữ, lưu trữ lâu dài, audit và tính trung thực của lời hứa “chỉ xem”.

Đánh giá SDK trình xem tài liệu .NET của Doconut SDK trình xem tài liệu .NET của Doconut với các yêu cầu bảo mật và tài liệu mẫu của bạn. Sử dụng các nguồn tài liệu chính thức các nguồn tài liệu chính thức để có cấu hình được hỗ trợ thay vì dựa vào mã nguồn được đoán.


Kết luận

Quy trình tài liệu chỉ xem là một thiết kế phòng thủ sâu, không phải một cờ Boolean. Bảo vệ tệp gốc, ủy quyền mọi yêu cầu, tách quyền xem và tải xuống, xác thực các cài đặt trình xem được hỗ trợ, audit truy cập và kiểm tra các cố gắng trực tiếp vượt qua giao diện.

Với những kiểm soát này, Doconut có thể cung cấp trải nghiệm tài liệu nhúng trong khi ứng dụng ASP.NET của bạn thực thi chính sách bảo mật xung quanh nó.