1

我的环境是:Windows 10 XE 18C Apex 18.2 Ords 18.4

我从 Apex 5.1 升级,我的自定义身份验证不再有效。当我尝试在第 101 页登录我的应用程序 104 时,输入用户名和密码并按登录后,我收到以下错误消息:

start l_return = 1 更新后.. Set-Cookie:ORA_WWV_APP_104=ORA_WWV-FByLiIYz0y3yltgzZGNtjgdA; HttpOnly X-Content-Type-Options:nosniff X-Xss-Protection:1; 模式=块位置:f?p=104:1:12616933237063:::::

我不确定此消息是否表明。如果我将身份验证方案切换到 Application Express 身份验证,则用户身份验证正常。在我的自定义身份验证方案中,我设置了以下变量:

Scheme Type = Custom
Authentication Function Name = PKG_USERS.APEX_AUTHENTICATE_USER
Enable Legacy Authentication Attributes = No
Session Not Valid / Go To: = Login Page
Switch In Session = Disabled
Post-Logout URL = Home Page
Session Sharing = Application (No Sharing)

我在 SQLDeveloper 中使用以下测试代码测试了包:PKG_USERS.APEX_AUTHENTICATE_USER:

declare
p_user              varchar2(512);
p_password          varchar2(512);
p_temp_boolean      boolean;
begin
p_user := '(my username)';
p_password := '(my password)';
p_temp_boolean := PKG_USERS.APEX_AUTHENTICATE_USER(p_user, p_password);
dbms_output.put_line('The return is: ' || sys.diutil.bool_to_int(p_temp_boolean));
end;

当我提供正确的用户名/密码组合时,程序返回 1。当我提供错误的密码时,程序返回 0。

从 Apex 5.1 到 18 的哪些变化导致此身份验证方案出错?

4

1 回答 1

0

我发现了问题。它与登录页面有关。该应用程序可能是在 Apex 3.x 中创建的。我在 Apex 18.2 中制作了一个新的一次性应用程序,然后将新样式的登录页面复制到迁移的应用程序中。

新的 APEX 应用程序使用页面 9999 作为登录页面。新样式的登录页面中添加了一些新字段。从“一次性”应用程序复制第 9999 页后,我从第 101 页中删除了“LOGIN”的页面别名并将其添加到第 9999 页。之后,我能够使用现有的自定义身份验证方案登录和注销没问题。

于 2019-03-26T14:25:57.877 回答