升级到Oracle APEX 18.2后,自定义身份验证失败

时间:2019-03-23 16:35:51

标签: custom-authentication oracle-apex-18.2

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

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

开始l_return = 1更新后。。Set-Cookie:ORA_WWV_APP_104 = ORA_WWV-FByLiIYz0y3yltgzZGNtjgdA; HttpOnly X-Content-Type-Options:nosniff X-Xss-Protection:1; mode = block位置: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,从而导致此身份验证方案出错?

1 个答案:

答案 0 :(得分:0)

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

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