Вы можете установить права объекта при инициализации службы для каждого пользователя, например
config.SetEntitySetAccessRule("Orders", UserRights.GetRights(identity, "Orders"));
config.SetEntitySetAccessRule("Products", UserRights.GetRights(identity, "Products"));
Основными недостатками применения видимости ресурса таким способом является то, что видимость находится на уровне объекта, а не на уровне строки.
Вы можете преодолеть это с помощью комбинации сервисных операций и смены перехватчиков.
[ChangeInterceptor("Products")]
public void OnProductsChange(Products product, UpdateOperations operations)
{
if(!UserRights.HasAccessRights(identity, "Products", operations))
{
throw new DateServicesException(404, "Access denied!");
}
}