Как я могу запрашивать записи на основе разрешений пользователей? - PullRequest
1 голос
/ 14 декабря 2011

Есть ли способ вернуть только те учетные записи (с использованием SOQL), к которым у текущего пользователя есть права на запись?

Например, если я захожу в конкретную учетную запись и нажимаю кнопку [Общий доступ], я вижу список пользователей (и групп), которые имеют доступ к этой записи. Когда вы вошли в систему как один из этих пользователей, я могу запустить оператор SOQL (через пользовательский контроллер на странице Visualforce), чтобы получить запись учетной записи. Однако я хочу убедиться, что запись об учетной записи возвращается только в том случае, если у пользователя есть разрешение на запись (или редактирование) этой записи. Есть идеи? Заранее спасибо!

1 Ответ

1 голос
/ 14 декабря 2011

Способ принудительного использования общего доступа заключается в использовании ключевых слов with sharing.Если по какой-либо причине вы не хотите этого делать, вы можете заключить оператор DML в блок try в catch DMLException.Вызовите getDmlType() для объекта исключения, чтобы увидеть, был ли сбой связан с разрешением.Я думаю, что код состояния будет System.StatusCode.INSUFFICIENT_ACCESS_OR_READONLY.Вот несколько полный список кодов состояния .

...