我有一個WebApi 2.1 OData(V 5.1.1)服務支持實體框架6.1。我試圖從安全角度鎖定它,以便用戶只能查詢他們的數據。我有一切正常工作,直到你到$ expandnds選項。
爲了討論起見,考慮以下簡單數據模型:
public class Scenario
{
public Guid Id { get; set; }
public Guid CreatedById { get; set; }
}
public class Property
{
public Guid Id { get; set }
public Guid CreatedById { get; set; }
public IQueryable<Scenario> Scenarios { get; set; }
}
當我打電話/Properties(guid'SOMEGUID')?$expand=Scenarios
,我需要能夠確保只有在返回CreatedById = CurrentUserId方案。這需要發生在服務器端上,而不是在客戶端查詢中。
WCF Data Services有處理這種情況的QueryInterceptors ... WebApi 2.1 OData中的等價物是什麼?
謝謝!
謝謝哈維爾,你這麼多。 EDM 5.6.1庫中是否存在與IEdmNavigationSource等效的內容?或者我可以只使用IEdmNamedElement? – AdvancedREI
Javier,你有辦法能夠使用這種技術來限制返回的數據,其中屬性等於特定值嗎? (相當於左外連接?) – AdvancedREI