Tôi có một thư mục có nhiều trang .aspx mà tôi muốn giới hạn quyền truy cập. Tôi đã thêm web.config vào thư mục đó với <deny users="?"/>
.Cách xử lý thanh lịch ReturnUrl khi sử dụng UrlRewrite trong ASP.NET 2.0 WebForms
Vấn đề là ReturnUrl được tạo tự động với đường dẫn vật lý đến tệp .aspx trong khi tôi đang sử dụng UrlRewrite.
Có cách nào để thao tác ReturnUrl mà không thực hiện kiểm tra và chuyển hướng xác thực thủ công không? Có cách nào để thiết lập ReturnUrl từ mã phía sau hoặc từ web.config?
EDIT: Ứng dụng đang sử dụng ASP.NET 2.0 WebForms. Tôi không thể sử dụng định tuyến 3.5.
EDIT 2: Có vẻ như mã trạng thái 401 không bao giờ bị bắt. Nó trả về 302 cho trang được bảo vệ và chuyển hướng đến trang đăng nhập bằng ReturnUrl. Nó không trả lại 401 cho trang được bảo vệ. Hmm ... Thú vị ... Ref: http://msdn.microsoft.com/en-us/library/aa480476.aspx
Điều này làm cho mọi việc trở nên khó khăn hơn ... Tôi có thể phải viết lại quy tắc lập bản đồ để regex khớp ngược ReturnUrl và thay thế nếu nó không trả về 401 ... Nếu nó trả về 401 Tôi có thể đặt RawUrl thành Response.RedirectLocation hoặc thay thế ReturnUrl bằng RawUrl.
Còn ai khác có ý tưởng nào khác không?
Bất kỳ ai khác có đề xuất khác? –