oracle - 以全局用户身份登录 oracle db

标签 oracle delphi ldap oracleinternetdirectory

我们正在尝试构建一个旧的、基于 Delphi 的 2 层应用程序。原本使用的是数据库认证,我们希望将db用户帐号转换为全局用户,这样就可以由OID服务器代替数据库来进行认证。

如果该帐户是全局用户,Delphi 程序将无法再登录数据库。我正在尝试了解登录协议(protocol),但到目前为止还没有结果。

SQLDeveloper 也会发生类似的情况,我无法作为全局用户进行连接。然而,SQLPlus 对这两种用户都适用。我们用Wireshark检查了信息流。当数据库服务器要求输入密码时,SQLPlus 会发送该密码,而 SQLDeveloper 在尝试作为全局用户进行连接时不会发送密码。

客户端也在登录请求中发送应用程序名称。我们是否必须将客户端应用程序名称存储在 LDAP 本身中?

最佳答案

要使用 OID 连接到 Oracle,应用程序必须正确配置 OCI(Oracle 调用接口(interface))。您正在使用的数据访问组件(哪一个?)必须设置 OCI_ATTR_DISTINGUISHED_NAME session 属性。如果不这样做,那么您将无法使用 ODI 和 OCI 连接到 Oracle 服务器。

您应该检查组件文档以了解此功能。如果未实现,则与组件供应商讨论此问题。实际上,实现的工作并不多,但需要一些设置测试环境的工作......

关于oracle - 以全局用户身份登录 oracle db,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2653477/

相关文章:

oracle - GRAILS -Oracle ORA-00904:无效的标识符

sql - 错误编号SQL 中获取的行数

c# - 如何使用Oracle和.Net客户端实现密码更改功能?

使用嵌套 var 访问运行 Delphi 程序后,Excel.exe 保持加载状态

delphi - DelphiWebScript 中值的运行时评估

delphi - 如何更改 tcxgrid 行的颜色

ldap - 如何将Jenkins LDAP访问限制为特定groupOfNames中的用户?

java - JDBC 检测和 ORA-01000 : maximum open cursors exceeded

java - 如何在 Spring Boot 中从 Active Directory LDAP 服务器获取所有组用户?

active-directory - 基于 Web 的 LDAP 浏览器