【发布时间】:2021-10-16 11:54:17
【问题描述】:
由于我使用 LDAP 将我们的 Microsoft Active Directory 与我的 Apex 应用程序链接起来,我正在尝试为当前从 Active Directory 登录的用户检索组。
这是文档:https://docs.oracle.com/cd/E59726_01/doc.50/e39149/apex_ldap.htm#AEAPI242
这是我的页面加载动态操作的代码,我正在尝试检索当前用户所属的所有组的 VARCHAR2,并将其放在仅显示字段中:
BEGIN
:P1_NEW := APEX_LDAP.MEMBER_OF2(
p_username => v('APP_USER'),
p_pass => 'mypassword',
p_auth_base => 'DOMAIN\',
p_host => 'XX.X.XXX.XX',
p_port => 389);
END;
但是当我加载我的页面时,就会出现这个错误
Ajax 调用返回服务器错误 ORA-31202:DBMS_LDAP:错误的客户端/服务器 LDAP:无效的凭据。 80090308:LdapErr:DSID-0C090439,注释:AcceptSecurityContext 错误,数据 52e,v4563 用于执行 PL/SQL 代码。
我的代码有什么问题?提前感谢您的帮助。
托马斯
【问题讨论】:
-
您使用的是什么版本的 APEX?安装apex的数据库是哪个版本?
-
顺便说一句,我认为
p_auth_base的语法是错误的,因为您需要使用LDIF 格式的条目来查看。我已经为用户所属的密码验证 + 组成员配置了带有 LDAP 身份验证的 APEX。您提供的链接适用于 apex 5.0,这是一个非常过时的版本。 -
您好 Roberto,我在 Apex v21.1 上,数据库是:Oracle Database 18c Express Edition Release 18.0.0.0.0 - Production
-
我在 p_auth_base 上同意你的观点,这就是我不确定的,我已经尝试输入
dc=domain,dc=ch。但它不工作,仍然无效的凭据 -
如果您使用相同的参数调用 APEX_LDAP.AUTHENTICATE,它是否有效?你能提供两者的输出吗??
标签: oracle plsql active-directory ldap oracle-apex