Dynamics CRM 365 查詢安全形色的具體許可權明細
阿新 • • 發佈:2022-05-25
SELECT DISTINCT r.Name 安全形色名稱 ,COALESCE(e.OriginalLocalizedName, e.Name) AS [EntityName] ,CASE p.AccessRight WHEN 32 THEN 'Create-建立' /* or hex value 0x20*/ WHEN 1 THEN 'Read-讀' WHEN 2 THEN 'Write-寫' WHEN 65536 THEN 'Delete-刪除' /* or hex value 0x10000*/ WHEN 4 THEN 'Append-追加' WHEN 16 THEN 'AppendTo-追加到' WHEN 524288 THEN 'Assign-分派' /* or hex value 0x80000*/ WHEN 262144 THEN 'Share-共享' /* or hex value 0x40000*/ ELSE 'None' END AS [Privilege] ,CASE (rp.PrivilegeDepthMask % 0x0F) WHEN 1 THEN 'User (Basic)-個人' WHEN 2 THEN 'Business Unit (Local)-業務部門' WHEN 4 THEN 'Parental (Deep)-上下級' WHEN 8 THEN 'Organization (Global)-組織' ELSE 'Unknown' END AS [PrivilegeLevel] ,(rp.PrivilegeDepthMask % 0x0F) as [PrivilegeDepthMask] ,CASE WHEN e.IsCustomEntity = 1 THEN 'Yes' ELSE 'No' END AS [IsCustomEntity] FROM Role AS r INNER JOIN RolePrivileges AS rp ON r.RoleId = rp.RoleId INNER JOIN Privilege AS p ON rp.PrivilegeId = p.PrivilegeId INNER JOIN PrivilegeObjectTypeCodes AS potc ON potc.PrivilegeId = p.PrivilegeId INNER JOIN MetadataSchema.Entity AS e ON e.ObjectTypeCode = potc.ObjectTypeCode ORDER BY r.Name, [EntityName]