sự hiểu biết của tôi về ASP.NET MVC là cho phép tôi nên sử dụng một cái gì đó giống như -phép Tuỳ chỉnh trong Web.API
public class IPAuthorize : AuthorizeAttribute {
protected override bool AuthorizeCore(HttpContextBase httpContext) {
//figure out if the ip is authorized
//and return true or false
}
Nhưng trong Web API, không có AuthorizeCore(..)
.
Có OnAuthorization(..)
và lời khuyên chung cho MVC không được sử dụng OnAuthorization(..)
.
Tôi nên sử dụng thông tin gì để ủy quyền tùy chỉnh trong API Web?
+1 Đây là câu trả lời đúng sử dụng System.Web.Http.AuthorizeAttribute. Lý do duy nhất cho việc sử dụng một hành động ủy quyền một cách miễn cưỡng là nếu bạn cần truy cập vào nội dung thư được deserialised để đưa ra quyết định cho phép nhưng điều này hiếm khi cần thiết hoặc thực hành tốt. –
Nếu tôi thực hiện ủy quyền địa chỉ ip kế thừa từ AuthorizeAttribute, có ok không khi ghi đè lên OnAuthorization (..) - Tôi đã đọc trong MVC mà bạn khuyên không nên. – tom
Thay vì ghi đè OnAuthorization, có lẽ tốt hơn là ghi đè IsAuthorized và/hoặc HandleUnauthorizedRequest. Chúng làm hầu hết công việc thực tế. –