Oracle apex 登录页面上的分支(APEX 19.2)

Oracle apex 登录页面上的分支(APEX 19.2),oracle-apex,Oracle Apex,我有一个有两页的应用程序: Page 1:主页,其中Authentication:Page是公共的 第2页:身份验证:页面需要身份验证 如果访客未通过身份验证,则应用程序应转到第1页。如果访问者登录并通过身份验证,则应用程序应在登录后将用户重定向到第2页 尝试1:我尝试将分支(尝试了处理和后处理点)放在第9999页(登录页)上,该分支将重定向到第2页。我没能让它工作 尝试2:我将分支移动到第1页的页眉之前,带有服务器端条件以分支检查用户是否经过身份验证。这起作用了 我的问题是为什么我的第一次

我有一个有两页的应用程序:

  • Page 1
    :主页,其中
    Authentication:Page是公共的
  • 第2页
    身份验证:页面需要身份验证
如果访客未通过身份验证,则应用程序应转到第1页
。如果访问者登录并通过身份验证,则应用程序应在登录后将用户重定向到第2页

尝试1:我尝试将分支(尝试了
处理
后处理
点)放在
第9999页
(登录页)上,该分支将重定向到
第2页
。我没能让它工作

尝试2:我将分支移动到
第1页
页眉
之前,带有服务器端条件以分支检查用户是否经过身份验证。这起作用了

我的问题是为什么我的第一次尝试没有成功?也许这是我的想法,但我认为这两种方法都应该有效。我更喜欢把它放在登录页面上,因为我知道这个重定向应该总是在登录之后发生,而且它更符合我所追求的流程。我肯定我错过了一些明显的东西,因为我只剩下几周的时间来学习APEX

我最终使用了这个建议(使用路由器页面),因为它在逻辑上对我来说是有意义的,并且更加自我记录,但更奇怪的是为什么我的方法1不起作用


提前感谢您的帮助。

在大多数情况下,身份验证是在应用程序之外完成的(SAML/SSO/…)-在生产环境中,使用apex帐户进行身份验证并不常见。最好将身份验证从应用程序中分离出来。如果您开始向登录页面添加业务逻辑,那么您将违反这种做法。就我个人而言,我认为向用户显示一个不需要验证的登录页面也太过分了。到目前为止,关于你为什么做出正确的选择


现在是它失败的原因。的文档显示,“重定向”是身份验证过程的最后一步。如果身份验证通过,则将用户重定向到应用程序主页,如果失败,则将用户重定向到共享组件>身份验证方案>当前身份验证方案>会话无效属性中定义的页面。如果在登录页面上运行调试,则可以观察到这种行为。我猜重定向将在您自己的分支之前运行,这就是为什么它对您不起作用的原因。这可能是预期的行为。

谢谢@Koen,这是有道理的,我也是这么想的,但作为APEX的新手,我不确定如何“找到”登录过程/请求的流程。谢谢你的帮助。和文档链接。