всем привет,
мы, девелоперы, живем в таком идеальном мире, где все записи, существующие в орге, нам доступны, для нас это просто каждодневная норма.
в реальном мире (Проде) все иначе. Каждый пользователь может видеть только свои записи, расшеренные записи или все записи объекта 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, то да.
а если sharing на классе не указан, то по дефолту он "with sharing"?
[quote="wilder"]А вот если у тебя контроллер without sharing, то да.[/quote] а если sharing на классе не указан, то по дефолту он "with sharing"?
а если sharing на классе не указан, то по дефолту он "with sharing"?
Насколько я помню если не указан тогда without sharing,но если ты только не наследуешь класс с sharing.
[quote="Den Brown"][quote="wilder"]А вот если у тебя контроллер without sharing, то да.[/quote] а если sharing на классе не указан, то по дефолту он "with sharing"?[/quote] Насколько я помню если не указан тогда without sharing,но если ты только не наследуешь класс с sharing.
Exactly
Exactly