2012-08-05 37 views
1

我很感謝任何其他分享我的問題的人,也許有一個解決方案。對Apache Derby使用LDAP

我正在使用Apache Derby數據庫,它涉及到爲我的數據庫用戶使用LDAP。

當我使用'ij'工具時,所有事情都應該如此。如果LDAP的名稱和密碼都已知,用戶只能使用該數據庫。

但是,當我在純Java中使用相同的代碼時,即使使用了錯誤的密碼,也會接受用戶。也就是說,使用LDAP檢查名稱,但密碼似乎被忽略。

Java程序編譯並運行,所以PATH和CLASSPATH的設置似乎沒有問題。

任何想法?

謝謝,

Ron Wates。

回答

1

這可能是因爲defaultConnectionMode爲每個人的fullAccess。您可以在創建數據庫並將其連接到第一次後,以編程方式在數據庫級別設置這些屬性。第一次連接到數據庫之後您應該設置所有其他所需的屬性,例如Derby.database.defaultConnectionMode=noAccessDerby.connection.requireAuthentication=true Derby.database.userderby.authentication.provider=LDAP和其他ldap屬性。

這些屬性將在重新啓動數據庫後生效。

https://stackoverflow.com/a/9518516/1282907

這裏提供的鏈接,這是你正在尋找 http://db.apache.org/derby/docs/10.6/devguide/rdevcsecureclientexample.html

的一個