I 사용자 정의 EntitySetController에서 상속 WebAPI의 하나로, OData 컨트롤러 내 사용자 지정 권한을 처리하는 속성 권한을 부여, 여기 사용자 정의 AuthorizeAttribute WebApi의 하나로, OData EntitySetController
[AttributeUsage(AttributeTargets.Method, Inherited = false, AllowMultiple = false)]
public class RequirePermissionsAttribute : System.Web.Http.AuthorizeAttribute
{
public Permissions[] Permissions { get; set; }
public RequirePermissionsAttribute()
{ }
public RequirePermissionsAttribute(params Permissions[] permissions)
{
this.Permissions = permissions;
}
public override void OnAuthorization(System.Web.Http.Controllers.HttpActionContext actionContext)
{
// Custom authorization logic
}
이 지금은이 속성을 추가 할
내 속성에 대한 코드 생성 가져 오기() 메소드에, 그것은public class ItemsController : EntitySetController<Item, Guid>
{
[EnableQuery(MaxExpansionDepth = 5)]
[RequirePermissionsAttribute(Permissions.ViewAll)]
public override IQueryable<Item> Get()
{
//Code go here
}
}
를 호출 얻을하지만) CreateEntity (에 같은 속성을 추가 할 때 그것은
를 호출되지는 결코3210[RequirePermissionsAttribute(Permissions.Add)]
protected override Item CreateEntity(Item item)
{
// Create item
}
는 어떤 도움
감사
이것은 단축 된 형태로 작동하지 않았습니다! –