我正在创建一个应用程序(应用程序x),这将需要保护应用程序的某些部分。我本质上需要一个授权提示来选择性地拒绝/接受访问。所需结果的快速示例:
在应用程序x中有一个关于纳税申报的日记应用程序
John选择日记图标,然后输入他的用户名和密码。
在此示例中,您可以看到John是授权用户,Lisa不是。
如何在apex上实现此功能?
一步一步的指导,我将不胜感激。我对身份验证和授权之间的区别也感到困惑。
答案 0 :(得分:0)
例如创建一个表,其中包含有关特权的信息
create table priv
(app_user varchar2(30),
priv varchar2(20)
);
insert into priv (app_user, priv)
select 'JOHN', 'admin' from dual union all
select 'LISA', 'oper' from dual;
现在创建一组功能(最好包含在一个程序包中),这些功能将(对于每个用户)返回是否(或不被)授予某些特权。您可以选择返回布尔值,但是-则不能在纯SQL中使用它。
create or replace function f_priv_admin_01 (par_app_user in varchar2)
return number
is
-- return 1 if PAR_APP_USER is admin; return 0 otherwise
retval number := 0;
begin
select 1
into retval
from priv
where app_user = par_app_user
and priv = 'admin';
return retval;
exception
when no_data_found then
return retval;
end;
在您的Apex应用程序中,使用“服务器端条件”,例如,使用“返回布尔值的函数”
return f_priv_admin_01 (:APP_USER) = 1;
表示:如果当前登录的用户是'admin',则显示该页面/区域/日记。否则,不要。