Tôi có một ứng dụng MVC4 web với bộ điều khiển sauTại sao AllowAnonymous không hoạt động khi được triển khai lên Azure Websites?
[Authorize]
public class AccountController : BaseController
{
[AllowAnonymous]
public ActionResult SignInRegister(LoginModel loginModel, string returnUrl)
{
//some implementation
}
//other secured actions
}
Đây là làm việc như mong đợi khi chạy ở địa phương, nhưng ngay sau khi tôi triển khai nó đến Website miễn phí Azure tôi nhận được một mã số 401
lỗi với thông điệp: You do not have permission to view this directory or page.
Xóa thuộc tính [Authorize]
và triển khai lại công việc như mong đợi, thêm lại và triển khai lại sẽ trả về sự cố.
Tôi thậm chí đã thử tên lớp đủ điều kiện: System.Web.Mvc.Authorize
và System.Web.Mvc.AllowAnonymous
với cùng kết quả.
Ứng dụng đang sử dụng .NET 4.5 và Azure Website cũng được định cấu hình để sử dụng 4.5.
UPDATE: Các BaseController
có một hành động mà trả về header xem như một phần trong đó đã không được trang trí với [AllowAnonymous]
. Tại địa phương nó dẫn đến trang được hiển thị mà không có tiêu đề, nhưng trên trang web Azure phản ứng đã bị cắt và chỉ trả về với thông báo lỗi được đề cập ở trên. Tôi đã không nhận ra tiêu đề đã mất tích cho đến khi tôi cố ý nhìn vào nó.
Bây giờ câu hỏi đặt ra để được hỏi: tại sao các trang web Azure ghi đè phản hồi?
Bạn nên đăng cập nhật của mình làm câu trả lời. – Kyle