【问题标题】:Authorization to exclude Home Page - Oracle Apex排除主页的授权 - Oracle Apex
【发布时间】:2020-06-15 09:13:37
【问题描述】:

我有一个授权方案应用于返回的应用程序的属性

RETURN MYFUNCTION(:APP_USER, :APP_PAGE_ID);

问题是,当主页 ID 没有返回时,它不会让用户登录。如何将方案应用到除主页之外的应用程序?

我使用的是 Apex 19.1

【问题讨论】:

    标签: oracle oracle-apex oracle-apex-19.1


    【解决方案1】:

    我想你的函数看起来像这样,并为你手头的问题添加了一个 if 语句。

    begin
      -- exclusions for this page check
      if p_page_id in (
        101 -- login page
       ,1   -- home page
      ) then
        return true;
      end if;
    
      -- does user have access to the page provided?
      select count(*)
      into l_exists
      from dual
      where exists
        (select null
         from sec_table
         where page_id = p_page_id
         and username = p_app_user
      );
      return l_exists = 1;
    end;
    

    【讨论】:

      【解决方案2】:

      我不确定我是否理解正确,但是 - 应该创建 myfunction 以便它接受两个参数,并且它们的名称必须是 p_usernamep_password。它应该返回布尔值:

      • true 如果凭据正常并且您可以连接
      • false,如果相反

      您的函数似乎返回主页ID;那是对的吗?如果是这样,好吧,我只是告诉你该怎么做。如果不是,请您解释一下您的意思

      首页ID未返回时

      如何应用该方案(...)不包括主页

      【讨论】:

      • 我的函数对除主页 ID 之外的所有页面 ID 返回 true,因为它不在 sql 表中。我不想将主页单独分配给每个用户。无论授权方案如何,我都希望它显示给每个经过身份验证的用户。
      • Myfction 已经创建,它检查表并为分配给用户的页面返回 true。
      • 好吧...它应该返回 true 时返回 false 所以...开始调试您的 pl/sql 代码。您可以在 apex 中通过在函数体中添加对 apex_debug.info(检查文档以了解语法)的调用来检查传递了哪些参数。这应该会告诉你为什么它没有按照你想要的方式工作,然后你可以决定如何修复它......
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-15
      • 1970-01-01
      相关资源
      最近更新 更多