您如何将用户名(APP_USER)设置为APEX中单点登录的电子邮件?

时间:2019-05-30 11:51:38

标签: sql oracle-apex

我正在this tutorial之后使用单点登录设置APEX应用,现在该应用允许登录。但是,APP_USER的值不等于通过Microsoft登录的电子邮件地址-默认为APEX_PUBLIC_USER。我想使用用户名提供基于角色的应用程序访问控制。

我一直在寻找解决方案,发现post authentication code看起来应该有所帮助,并且我已尝试适应。

使用

procedure post_authenticate
is
begin
    w14_auth_pkh.post_authenticate(
        p_username => :APP_USER);
end post_authenticate

apex_custom_auth.set_user (p_user => :APP_USER);

从身份验证方案部分中应用更改时,我收到以下错误消息:

ORA-06550:第8行,第1列:PLS-00103:在预期以下情况之一时遇到符号“ BEGIN”:符号“;”被替换为“ BEGIN”以继续。

ORA-06550:第2行,第17列:PLS-00103:遇到符号“”。当期望以下内容之一时:常量异常表列long double ref char time timestamp interval date二进制国家字符nchar用符号“”代替“”。继续。

1 个答案:

答案 0 :(得分:0)

您的第一个代码示例使用了Dimitri的程序包,最后缺少分号。

您的相关代码为 APEX_CUSTOM_AUTH.SET_USER();

enter image description here

或者,您可以将Username属性更改为通过用户信息端点URL可用的属性。 enter image description here