一个 Apex 页面上的多个授权方案

Multiple Authorization Scheme on one Apex page

顶点 20.1

我有一个目前运行良好的授权方案,它会检查用户是否属于所需的 D365LE,并允许他们使用以下代码查看相关页面:

SELECT 1
FROM USERDETAILS
WHERE D365LE ='GA01' or D365LE = 'GA70'
AND upper(username) = upper(:APP_USER);

我现在希望具有角色 'Admin' 的用户能够查看每个页面,而不管他们的 D365LE。我尝试了以下代码,但它使任何管理员都无法查看任何绑定了授权方案的页面

SELECT 1
FROM USERDETAILS
WHERE ROLE <> 'Admin'
AND D365LE ='GA01' or D365LE = 'GA70'
AND upper(username) = upper(:APP_USER);

有没有办法让管理员查看每个页面,而不考虑 D365LE,同时让用户的角色 'Basic' 绑定到 D365LE 授权方案?

像这样的话,我会说:

select 1
from userdetails
where upper(username) = upper(:APP_USER)
  and (   (role <> 'Admin' and d365le in ('GA01', 'GA70'))
       or (role = 'Admin')
      );