如何以SOQL撈出資料來比對兩個Permission Set的異同
就這三個關鍵object:
- PermissionSet
- PermissionSetAssignment
- ObjectPermissions
有這三個object名稱,應該就夠自己摸索出來了。
這邊再提供幾個Salesforce官方的範例
SELECT
Assignee.Name, PermissionSet.Id, PermissionSet.isOwnedByProfile, PermissionSet.Profile.Name, PermissionSet.Label
FROM
PermissionSetAssignment
WHERE
PermissionSetId
IN
(
SELECT
ParentId
FROM
ObjectPermissions
WHERE
SObjectType
=
'Account'
AND
PermissionsRead
=
true
)
SELECT
Id, SObjectType, PermissionsRead, Parent.label, Parent.IsOwnedByProfile
FROM
ObjectPermissions
WHERE
(ParentId
IN
(
SELECT
PermissionSetId
FROM
PermissionSetAssignment
WHERE
Assignee.Name
=
'John Doe'
))
AND
(PermissionsRead
=
true
)
AND
(SobjectType
=
'Account'
)
參考資料在此
Using SOQL to Determine Your Force.com User’s Permissions
留言
張貼留言