如何使用组来提供对oracle apex应用程序的访问

时间:2015-02-01 20:43:26

标签: oracle authorization oracle-apex

我正在尝试使用内置组功能来控制对Oracle APEX中的应用程序的访问。我在授权方案的表达式1中有以下代码,我正在尝试使用:

DECLARE
    VAL BOOLEAN;
BEGIN
    IF (
        APEX_UTIL.CURRENT_USER_IN_GROUP(p_group_name=>'Problem Solvers')  OR
        APEX_UTIL.CURRENT_USER_IN_GROUP(p_group_name=>'OPS') OR
        APEX_UTIL.CURRENT_USER_IN_GROUP(p_group_name=>'SUPERUSER') )then
    VAL := TRUE;
    else VAL := FALSE;
    end if;
    RETURN VAL;
END;

此代码将阻止访问我应用中的所有页面,但我无法再访问登录页面(除非我已经从开发界面登录)。我尝试在条件中包含一个额外的“OR:APP_PAGE_ID = 101”,但这会导致意外行为。特别是,当授权用户注销并且未授权用户随后登录时,他们仍然可以访问整个应用程序。我尝试设置清除会话​​缓存,并在登录页面上清除应用程序缓存进程,但无济于事。有关正确方法的任何想法是什么?

1 个答案:

答案 0 :(得分:1)

假设您正在运行Apex 4.2:您应该设置"在公共页面上运行"否。您的登录页面应该是公开的,没有安全检查。