我正在oracle Apex 18.2中开发一个小型ERP,我想实现以下所列的自定义安全性
1)用户应从自定义表进行身份验证
2)身份验证后,应根据“自定义表”中的“分配的角色”向用户授权应用程序
3)用户必须具有对表的READ,INSERT,UPDATE和DELETE操作的授权
例如Image
根据我的小知识,我做了一些谷歌搜索,但有很多令人困惑的选项,需要建议和建议。
答案 0 :(得分:4)
1)用户应从自定义表进行身份验证
Custom
。以下是可用的示例代码,并从“页面构建器”的帮助文本中复制了该代码:
function my_authentication (
p_username in varchar2,
p_password in varchar2 )
return boolean
is
l_user my_users.user_name%type := upper(p_username);
l_pwd my_users.password%type;
l_id my_users.id%type;
begin
select id , password
into l_id, l_pwd
from my_users
where user_name = l_user;
return l_pwd = rawtohex(sys.dbms_crypto.hash (
sys.utl_raw.cast_to_raw(p_password||l_id||l_user),
sys.dbms_crypto.hash_sh512 ));
exception
when NO_DATA_FOUND then return false;
end;
my_authentication
2)身份验证之后,应根据“自定义表”中的“分配的角色”授权用户使用应用程序
post_login
,它检索用户的角色并将其添加到应用程序项或APEX集合中。post_login
。OR
只需创建一个“授权方案”即可简单地即时查询相同的信息,但是根据调用这些授权的频率可能会降低性能。
3)用户必须具有对表的READ,INSERT,UPDATE和DELETE操作的授权