为 Apache Derby 使用 LDAP
Posted
技术标签:
【中文标题】为 Apache Derby 使用 LDAP【英文标题】:Using LDAP for Apache Derby 【发布时间】:2012-08-05 16:28:36 【问题描述】:如果有其他人分享我的问题并可能有解决方案,我将不胜感激。
我正在使用 Apache Derby 数据库,它涉及为我的数据库用户使用 LDAP。
当我使用 'ij' 工具时,一切正常。用户只有在 LDAP 知道他们的名称和密码时才能使用数据库。
但是,当我在纯 Java 中使用相同的代码时,即使使用了错误的密码,也会接受用户。也就是说,使用 LDAP 检查名称,但似乎忽略了密码。
Java 程序编译并运行,因此 PATH 和 CLASSPATH 的设置似乎没有问题。
有什么想法吗?
谢谢,
罗恩·沃茨。
【问题讨论】:
【参考方案1】:可能是因为默认的ConnectionMode 是fullAccess 对每个人都适用。您可以在创建数据库并将其连接到第一次后以编程方式在数据库级别设置这些属性。首次连接到数据库后,您应该设置所有其他必需的属性,例如 Derby.database.defaultConnectionMode=noAccess
Derby.connection.requireAuthentication=true
Derby.database.user
、derby.authentication.provider=LDAP
和其他 ldap 属性。
这些属性会在db重启后生效。
请参阅此处提供的链接 https://***.com/a/9518516/1282907
这就是你要找的那个 http://db.apache.org/derby/docs/10.6/devguide/rdevcsecureclientexample.html
【讨论】:
以上是关于为 Apache Derby 使用 LDAP的主要内容,如果未能解决你的问题,请参考以下文章
无法为 Apache Derby 加载 JDBC 驱动程序 [重复]
Derby 在使用 Maven 时给出 ClassNotFoundException: org.apache.derby.jdbc.EmbeddedDriver