gpt4 book ai didi

c# - 甲骨文和事件目录 : A love/hate relationship

转载 作者:行者123 更新时间:2023-11-30 18:44:37 28 4
gpt4 key购买 nike

我目前正在尝试通过 Pl/Sql (Oracle) 中的 dbms_ldap API 访问 Active Directory。问题是我无法使用自己的用户名和密码或任何方式连接。

但是,在 C# 中,我可以使用以下代码匿名连接:

DirectoryEntry ldap = new DirectoryEntry("LDAP://Hostname");
DirectorySearcher searcher = new DirectorySearcher(ldap);
searcher.Filter = "(SAMAccountName=username)";
SearchResult result = searcher.FindOne();

如果我尝试在 Oracle 中匿名连接,当我尝试搜索时(绑定(bind)的结果代码是 SUCCESS),我只会收到错误(ORA-31202:LDAP 客户端/服务器错误)...

my_session := dbms_ldap.init('HOST','389');
retval := dbms_ldap.simple_bind_s(my_session, '', '');
retval := dbms_ldap.search_s(my_session, ldap_base, dbms_ldap.scope_subtree, 'objectclass=*', my_attrs, 0, my_message);

为什么匿名连接在 C# 中有效,但在 Pl/Sql 中无效?您是否还有其他通过 Oracle 连接到 Active Directory 的想法?

帮我把他们团聚在一起。
谢谢。

编辑 1
当我使用匿名凭证绑定(bind)时,我得到:

ORA-31202: DBMS_LDAP: LDAP client/server error
00000000: LdapErr: DSID-0C090627, comment: In order to perform this operation a successful bind must be completed on the >connection

如果我尝试连接我的凭据,这些凭据应该是有效的,因为我用它连接到域...我得到:

ORA-31202: DBMS_LDAP: LDAP client/server error Invalid credentials
80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error

有没有可能是 Active Directory 不允许像这些这样的外部 LDAP 操作?

编辑2
查看“结果”变量,在 C# 中,我得到了“路径”属性的值:
LDAP://SERVER_OR_DOMAIN/CN=LAST_NAME\,FIRST_NAME,OU=OU1,OU=OU2,OU=OU3,OU=OU4,DC=SERVER_NAME,DC=EXT1,DC=EXT2

也许有了这些信息你可以帮我解决这个问题,可能是 AD 不允许匿名连接。了解“路径”属性后,“ldap_base”、“ldap_user”和“ldap_passwd”是什么?

最佳答案

在辛苦的一天挠头几个小时后解决了这个问题。

默认情况下,AD 不允许匿名访问。因此,我必须找到正确的 ' distinguishedName ' 以获得访问权限(这是没有 'LDAP://SERVER_OR_DOMAIN/' 的长字符串)。

如果您遇到“80090308: LdapErr: DSID-0C090334, comment: AcceptSecurityContext error”错误,您应该引用 this线程或this服务器故障问题。

感谢您的帮助。

关于c# - 甲骨文和事件目录 : A love/hate relationship,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2540449/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com