简体   繁体   中英

how do I use groups to provide access to oracle apex apps

I'm trying to use the built in groups functionality to control access to my applications in Oracle APEX. I have the following code in Expression 1 of the Authorization Scheme that I'm trying to use:

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;

This code will prevent access to all pages in my app, but I can no longer access the login page (unless I'm already logged in from the development interface). I tried including an additonal "OR :APP_PAGE_ID = 101" in the conditions, but that results in unexpected behavior. In particular, when an authorized user logs out, and an unauthorized user subsequently logs in, they can still get access to the whole app. I tried setting up clear session cache, and clear application cache processes on the login page, but to no avail. Any ideas on what the right way to do this is?

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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM