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

Record level security: использовать ли View All / Modify All в Standard Object Permissions?

всем привет,

мы, девелоперы, живем в таком идеальном мире, где все записи, существующие в орге, нам доступны, для нас это просто каждодневная норма.

в реальном мире (Проде) все иначе. Каждый пользователь может видеть только свои записи, расшеренные записи или все записи объекта c дефолтным Public access-ом, что случается не часто.

так вот вижу, что в сендбоксе БА хочет использовать View All / Modify All в Standard Object Permissions, чтобы расшерить все записи объекта для данного профайла. Я говорю, что в моем понимании, эти опции на профайле - View All / Modify All - это "технические разрешения", которые можно использовать только для разработки/отладки, в норме все записи Приватного объекта должны быть расшерены только через явные и осмысленные Шеринг рулсы и никак иначе, и не надо лениться.

Что вы думаете по этому вопросу?

Ситуация может быть даже более драматичная: View All / Modify All хотят использовать для сайтового юзера/профайла.
Я начинаю возьмущаться, что это просто невозможно дать сайтовому юзеру доступ ко всем записям объекта, мне отвечают, "а что, твой контроллер все равно найдет только одну, правильную запись". Тогда я начинаю пугать страшилкой, что "смышленный сайтовый пользователь" может подключится к Оргу через "REST API" и выкачать все записи данного объекта (в пределах "открытых" для него полей), так как у него просто есть право доступа к ним, а сайтовому пользователю авторизации не требуется.

Правильно пугаю?

всем привет,

мы, девелоперы, живем в таком идеальном мире, где все записи, существующие в орге, нам доступны, для нас это просто каждодневная норма.

в реальном мире (Проде) все иначе. Каждый пользователь может видеть только свои записи, расшеренные записи или все записи объекта c дефолтным Public access-ом, что случается не часто.

так вот вижу, что в сендбоксе БА хочет использовать View All / Modify All в Standard Object Permissions, чтобы расшерить все записи объекта для данного профайла. Я говорю,  что в моем понимании, эти опции на профайле - View All / Modify All - это "технические разрешения", которые можно использовать только для разработки/отладки, в норме все записи Приватного объекта должны быть расшерены только через явные и осмысленные Шеринг рулсы и никак иначе, и не надо лениться.

Что вы думаете по этому вопросу?

Ситуация может быть даже более драматичная: View All / Modify All хотят использовать для сайтового юзера/профайла.
Я начинаю возьмущаться, что это просто невозможно дать сайтовому юзеру доступ ко всем записям объекта, мне отвечают, "а что, твой контроллер все равно найдет только одну, правильную запись". Тогда я начинаю пугать страшилкой, что "смышленный сайтовый пользователь" может подключится к Оргу через "REST API" и выкачать все записи данного объекта (в пределах "открытых" для него полей), так как у него просто  есть право доступа к ним, а сайтовому пользователю авторизации не требуется.

Правильно пугаю?

Нет.

А вот если у тебя контроллер without sharing, то да.

Нет.

А вот если у тебя контроллер without sharing, то да.

wilder
А вот если у тебя контроллер without sharing, то да.

а если sharing на классе не указан, то по дефолту он "with sharing"?

[quote="wilder"]А вот если у тебя контроллер without sharing, то да.[/quote]

а если sharing на классе не указан, то по дефолту он "with sharing"?

Den Brown
wilder
А вот если у тебя контроллер without sharing, то да.

а если sharing на классе не указан, то по дефолту он "with sharing"?


Насколько я помню если не указан тогда without sharing,но если ты только не наследуешь класс с sharing.

[quote="Den Brown"][quote="wilder"]А вот если у тебя контроллер without sharing, то да.[/quote]

а если sharing на классе не указан, то по дефолту он "with sharing"?[/quote]
Насколько я помню если не указан тогда without sharing,но если ты только не наследуешь класс с sharing.

Exactly

Exactly