Tôi đã thực hiện rất nhiều nghiên cứu về cách tốt nhất để bảo đảm ứng dụng MVC 5 của mình.Xác thực MVC5: Ủy quyền thuộc tính trên mọi bộ điều khiển hoặc bộ điều khiển cơ sở
Chúng tôi có một Web.csproj với nhiều bộ điều khiển WebAPI và cũng là trang web MVC có hai khu vực - một dành cho Quản trị viên và sau đó là trang web công khai.
Sau khi đọc this article which states that the Base Controller is best way, tôi quyết định đi theo cách tiếp cận đó.
Tuy nhiên, cá nhân tôi không đồng ý với việc sử dụng bộ điều khiển cơ sở (see this stackoverflow answer vì một số lý do của tôi).
Vì vậy, với điều kiện tôi đang sử dụng MVC 5 (Nhận dạng ASP.Net và Xác thực OWIN) - bất kỳ ai cũng có thể làm sáng tỏ những ưu điểm và nhược điểm của mỗi cách tiếp cận?
bài viết này không hiển thị cách sử dụng bộ lọc chung? Tôi tin rằng bộ điều khiển cơ sở đã được đề xuất cho MVC 1 và 2 .... – dima
@dima Vâng, bạn nói đúng ... Tôi đã nhầm lẫn với câu sau ở cuối bài viết: "Hãy để tôi hoàn toàn rõ ràng về điều này Cách duy nhất được hỗ trợ để bảo vệ ứng dụng MVC của bạn là có một lớp cơ sở với một thuộc tính [Authorize], và sau đó để có từng loại bộ điều khiển kiểu cơ sở. Bất kỳ cách nào khác sẽ mở một lỗ hổng bảo mật. " Tuy nhiên, tôi nghĩ rằng đã được nói trong bối cảnh cố gắng để bảo đảm một ứng dụng MVC thông qua Route Constraints ... một nghiêm trọng 'no-no'. – JTech
anh ta đúng theo một cách nào đó, chỉ có nghĩa là nói về bộ lọc toàn cầu .... Tôi không hiểu tại sao bạn không tận dụng lợi thế của các bộ lọc toàn cầu và làm cho toàn bộ trang web được an toàn và chỉ cho phép truy cập nặc danh Các hành động như Đăng nhập, Đăng ký vv – dima