我想隐藏,维护页面,并设置规则的“最终用户”,我正在创建的应用程序在甲骨文顶点。目前,我有两个用户帐户:一个是名为A的管理员,另一个是名为B的最终用户。管理员可以编辑、插入和删除数据,但最终用户不能这样做。最终用户所能做的就是查看数据。
目前,两者都可以看到所有页面,而最终用户可以做任何事情。如何将其存档?我找到了关于认证方案的信息,这可能与我的问题有关。但是我不知道怎么写。请建议解决方案。
发布于 2020-05-12 22:41:47
一个简单的选项是创建一个函数,该函数表明某个用户是否为最终用户。例如:
create table users
(username varchar2(30),
user_role varchar2(20)
);
insert into users (username, user_role)
select 'Little', 'Admin' from dual union all
select 'Foot' , 'EndUser' from dual;
create or replace function f_is_end_user (par_app_user in varchar2)
return boolean
is
l_one number(1);
begin
select max(1)
into l_one
from users
where username = par_app_user
and user_role = 'EndUser';
return l_one = 1;
end;
/测试:
SQL> begin
2 dbms_output.put_line(case when f_is_end_user('&par_app_user') then 'it is end user'
3 else 'it is NOT end user'
4 end);
5 end;
6 /
Enter value for par_app_user: Little
it is NOT end user
PL/SQL procedure successfully completed.
SQL> /
Enter value for par_app_user: Foot
it is end user
PL/SQL procedure successfully completed.为Admin用户创建相同的函数。
现在,转到“共享组件”、“授权方案”,并创建一个新方案:
将其命名为"end_user"
return f_is_end_user(:APP_USER);
对"admin“用户执行相同的操作。
返回到您的应用程序。导航到页面并设置其授权方案。
例如,如果您不想让最终用户查看页面,则将其设置为{Not end_user}
很简单,不是吗?
https://stackoverflow.com/questions/61753961
复制相似问题