簡體   English   中英

通過Salesforce API獲取讀取權限或與安全相關的對象

[英]Get read permissions or security related objects via salesforce API

我正計划通過以下查詢獲取對象的讀取權限,

queryResults = connection.query("SELECT Assignee.Id, Assignee.Name" +
      " FROM PermissionSetAssignment" +
      " WHERE PermissionSetId" +
      " IN (SELECT ParentId" +
      " FROM ObjectPermissions" +
      " WHERE SObjectType = GivenObjectType AND" +
      " PermissionsRead = true)");

這適用於大多數Salesforce對象。 但是對於與安全性相關的對象(例如“組”,“個人檔案”),此方法不起作用。 (即,當我想檢查可以看到用戶信息的用戶時,我應該能夠傳遞GivenObjectType =“ User”並獲得所有可以看到其他用戶信息的用戶。

有沒有辦法可以做到這一點?

注意:我確定了以下對象類型,這些對象類型在ObjectPermissions.SObjectType用戶,組,伙伴,配置文件和任務中不支持(不是與安全性相關的對象)

謝謝!

編輯以回答評論

概況/權限集只是說,如果你被允許查看,編輯等, 在所有帳戶。 他們不會告訴您是否可以編輯帳戶“ XYZ”。

然后,您應該查看AccountShareUserRecordAccess表。 他們將為您提供很好的拼合信息,而不是嘗試重新創建共享規則。

檢查Daniel對https://salesforce.stackexchange.com/questions/7805/show-insufficient-privileges-direct-when-clicking-edit-override-not-on的回答,這應該為您提供一個良好的開端,並且您會知道什么現在要搜索的關鍵字。


原始答案

對於像組這樣的設置對象(還包括隊列),您可能必須查看系統權限。 我相信,那將由“ 管理用戶 ”控制。 至少我的一些用戶抱怨說,沒有它,他們將看不到誰實際上是給定隊列的成員。 訪問User對象可能是同一回事。

您應該能夠在PermissionSet對象中找到它們。

我認為合作伙伴和任務之間具有“主從關系”(我認為是帳戶和任何具有“允許活動”的對象……)。 再說一遍-我認為幫助是您最好的朋友: https : //help.salesforce.com/HTViewHelpDoc?id=partners_edit.htmhttps : //help.salesforce.com/HTViewHelpDoc ?id=creating_tasks.htm等。

我很好奇為什么要使用它,為什么要堅持查詢而不是使用描述調用(例如“ isAccessible”或Metadata API / Tooling API),如果您想將其提取到Java應用程序中。 個人資料及相關內容的查詢是最近才公開的,如果某些內容丟失/不一致,我也不會感到驚訝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM