Tôi đã viết một httphandler để chặn tất cả các tệp pdf yêu cầu qua URL từ một thư mục cụ thể và chuyển hướng người dùng đến trang Đăng nhập. Nếu người dùng được xác thực, tệp có thể được tải xuống. web.config của tôi có các mục sau đây cho hành động ngăn chậnlàm thế nào để viết httphandler để chỉ chặn các tập tin trong một thư mục cụ thể
<httpHandlers>
<add verb="*" path="/calderdale/*.pdf"
type="NES.HiLo.Security.CalderDaleAuthenticationHandler, NES.HiLo.Security" />
</httpHandlers>
Trong IIS (6.0) Cài đặt tiện ích ứng dụng tôi đã thêm một thiết lập với thực thi C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll
và mở rộng Pdf.
Tác phẩm này nhưng mọi yêu cầu tệp pdf đều bị chặn thay vì các tệp có trong thư mục calderdale.
Tôi đã thử các giải pháp được cung cấp trên liên kết này Mapping specific folder to HttpHandler in web.config và xóa cài đặt tiện ích ứng dụng nhưng sau đó trình xử lý không nhận cuộc gọi nào cả.
Bất kỳ ý tưởng nào?
Bạn có thể sử dụng httpModule thay vì httpHandler. –
Tôi không thể sử dụng httpmodules vì chúng tôi chỉ có thể sử dụng httphandler để bảo mật tệp thông qua trình xử lý. ví dụ. www.domainname.com/foldername/somefile.doc sẽ mở tệp bất kể hiện diện httpmodule – rumi
@Tìm hiểu liên kết bạn đưa ra để đặt một tệp web.config khác trong thư mục, thực tế là bạn có đường dẫn = "/ calderdale/* .pdf "gợi ý bạn chưa làm câu trả lời được chấp nhận để làm, tức là đặt web.config vào thư mục 'calderdale' và thay đổi đường dẫn thành path =" *. pdf " –