【发布时间】:2015-01-19 20:05:17
【问题描述】:
我现在正在努力学习和理解 Oracle APEX,但对 APEX 应用程序中的用户身份验证过程感到困惑。当我们创建方案类型为“自定义”的新身份验证方案时,有一个名为“身份验证函数名称”的列,我们必须在其中提供将验证用户名/密码的函数名称。
但是在实际的登录页面上,我们可以定义另一个页面进程来执行此验证....所以我的问题是哪个身份验证功能优先?例如,我正在查看一个预先提供的示例应用程序,该应用程序正在使用自定义身份验证方案,该方案在“身份验证函数名称”中定义了“custom_auth”(“custom_auth”是数据库中的存储函数),但在此应用程序的登录页面,有一个页面进程执行实际身份验证,该进程调用不同的函数,如下所示:
wwv_flow_custom_auth_std.login (
P_UNAME => v('P101_USERNAME'),
P_PASSWORD => :P101_PASSWORD,
P_SESSION_ID => v('APP_SESSION'),
P_FLOW_PAGE => :APP_ID||':1'
);
现在我的问题是,当用户输入他的凭据并单击登录按钮时,实际调用了这两个函数中的哪一个?有人可以帮助我并消除我的困惑吗?
提前致谢。
【问题讨论】:
-
整个想法是,您可以在不修改登录页面的情况下即插即用不同的身份验证方案 - 所以不要更改登录页面的流程,而只需将您的应用程序指向您的自定义身份验证方案。 wwv_flow_custom_auth_std 只会调用您为应用程序设置的任何身份验证方案。
标签: oracle authentication oracle-apex