Saturday, June 20, 2020

Retrieve Profile using Standard Salesforce Objects



Profiles

1. Query to retrieve Object Level Permissions

SELECT Id, ParentId, SobjectType, PermissionsCreate, PermissionsRead
, PermissionsEdit, PermissionsDelete, PermissionsViewAllRecords
, PermissionsModifyAllRecords, CreatedDate, CreatedById, LastModifiedDate
, LastModifiedById, SystemModstamp
FROM ObjectPermissions
WHERE ParentId IN (
  SELECT Id
  FROM PermissionSet
  WHERE Profile.Name  = 'PROFILE_NAME_HERE'
)

2. Query to retrieve Field Level Permissions

SELECT Id, ParentId, SobjectType, Field, PermissionsEdit, 
PermissionsRead, SystemModstamp
FROM FieldPermissions
WHERE ParentId IN ( SELECT Id FROM PermissionSet
WHERE Profile.Name = 'PROFILE_NAME_HERE')

3. Query to Retrieve Apex/Visualforce Page/Tab/App level Access
SELECT Id, ParentId, SetupEntityId, SetupEntityType, SystemModstamp 

FROM SetupEntityAccess

WHERE ParentId IN (

SELECT Id

FROM PermissionSet

WHERE Profile.Name = 'PROFILE_NAME_HERE'

)
4. Retrieve system permissions(Add other system permissions in select clause as needed)

SELECT Id, PermissionsModifyAllData from permissionset 

where id in ( SELECT Id FROM PermissionSet

WHERE Profile.Name = 'Profile Name')




No comments:

Post a Comment