Регистрация  |  Вход

Почему SOQL query возвращает ВСЕ записи в объекте, несмотря на Private OWD на объекте and View All "false" на том профайле?!

Почему SOQL query возвращает ВСЕ записи в объекте, несмотря на Private OWD на объекте and View All "false" на том профайле?!

при этом если зайти в стандартный Лист Вью того объекта - то видны только записи, созданные текущим пользователем (хотя при первом заходе на тот стандарнтый Лист Вью список показал ВСЕ записи также, но при рефреше исправился :))

изменение with/out sharing на классе-контрлерре вроде не меняет дело.

Почему SOQL query возвращает ВСЕ записи в объекте, несмотря на Private OWD на объекте and View All "false" на том профайле?!

при этом если зайти в стандартный Лист Вью того объекта - то видны только записи, созданные текущим пользователем (хотя при первом заходе на тот стандарнтый Лист Вью список показал ВСЕ записи также, но при рефреше исправился :))

изменение with/out sharing на классе-контрлерре вроде не меняет дело.


От одного коллегия я узнал что apex code работает в режиме который ничего не знает про профайлы.

От одного коллегия я узнал что apex code работает в режиме который ничего не знает про профайлы.

Возможно, пользователь выше всех в иерархии ролей, поэтому ему доступны все записи объекта.

Возможно, пользователь выше всех в иерархии ролей, поэтому ему доступны все записи объекта.

EvAzi
Возможно, пользователь выше всех в иерархии ролей, поэтому ему доступны все записи объекта.

это тоже вариант, но нет, в стандартном Лист вью он видит только "свои" записи

Sergey Prishchepa
От одного коллегия я узнал что apex code работает в режиме который ничего не знает про профайлы.

это не может быть правдой в полной мере, SOQL кидается ошибкой если попытаться выкверить недоступное по FLS поле.

я все же считаю, что доступ ко всем записям в Квери (несмотря на отсутсвие доступа) - это какая то аномалия. иначе зачем писать на классе with/out sharing, зачем делать runAsUser в тестах.

[quote="EvAzi"]Возможно, пользователь выше всех в иерархии ролей, поэтому ему доступны все записи объекта.[/quote]

это тоже вариант, но нет, в стандартном Лист вью он видит только "свои" записи

[quote="Sergey Prishchepa"]От одного коллегия я узнал что apex code работает в режиме который ничего не знает про профайлы.[/quote]

это не может быть правдой в полной мере, SOQL кидается ошибкой если попытаться выкверить недоступное по FLS поле.

я все же считаю, что доступ ко всем записям в Квери (несмотря на отсутсвие доступа) - это какая то аномалия. иначе зачем писать на классе with/out sharing, зачем делать runAsUser в тестах.