Tôi đang viết một ứng dụng bằng cách sử dụng asp.net-mvc triển khai lên iis6. Tôi đang sử dụng xác thực biểu mẫu. Thông thường khi người dùng cố gắng truy cập tài nguyên mà không có sự cho phép thích hợp, tôi muốn họ được chuyển hướng đến trang đăng nhập. FormsAuth thực hiện điều này cho tôi đủ dễ dàng.Bỏ qua các hình thức Xác thực tự động chuyển hướng để đăng nhập, Làm thế nào để?
Vấn đề: Bây giờ tôi có một ứng dụng được truy cập bởi ứng dụng bảng điều khiển. Cách nhanh nhất để thực hiện hành động này phản hồi w/trạng thái 401 thay vì chuyển hướng yêu cầu đến trang đăng nhập là gì?
Tôi muốn ứng dụng bảng điều khiển có thể phản ứng với Mã trạng thái 401 này thay vì trong suốt. Tôi cũng muốn giữ mặc định, chuyển hướng các yêu cầu trái phép đến hành vi của trang đăng nhập.
Lưu ý: Là một thử nghiệm tôi đã thêm này để global.asax của tôi và nó không hình thức bypass auth:
protected void Application_AuthenticateRequest(object sender, EventArgs e)
{
HttpContext.Current.SkipAuthorization = true;
}
@Dale và Andy
Tôi đang sử dụng AuthorizeAttributeFilter cung cấp trong bản xem trước MVC 4. Đây là trả về một HttpUnauthorizedResult. Kết quả này được thiết lập chính xác statusCode thành 401. Vấn đề, như tôi hiểu, là asp.net đang chặn phản hồi (kể từ khi được gắn thẻ là 401) và chuyển hướng đến trang đăng nhập thay vì chỉ cho phép nó đi qua. Tôi muốn bỏ qua sự ngăn chặn này đối với một số url nhất định.
Xem http://stackoverflow.com/questions/2839406/forms-authentication-disable-redirect-to-the-login-page –