天天看點

Salesforce中如何判斷某使用者對于某記錄是否有權限

Salesforce中有一個readonly的Object:UserRecordAccess,這個Object可以幫助你判斷,某個使用者對于某條資料是否有權限。

代碼如下

SELECT 
    RecordId
    , HasReadAccess
    , HasEditAccess
    , HasDeleteAccess 
FROM 
    UserRecordAccess 
WHERE 
    UserId=:UserInfo.getUserId() 
    AND 
    RecordId =: Account.Id];
           

但是這個方法一次最多隻能抽出200條資料。這個方法隻在24.0之後才支援。

30.0之後可以作為一個外鍵來使用

SELECT Id, Name, UserRecordAccess.HasReadAccess, UserRecordAccess.HasTransferAccess, UserRecordAccess.MaxAccessLevel 
      FROM Account
           

但是如果執行的人對于這條資料沒有權限,那麼就檢索不出來,如果已經有了,那麼還需要看他有沒有權限嗎?可能隻對于需要判斷編輯或者其他的一些權限的才需要用到

繼續閱讀