私はかなり古くて大きなCMS(TeamSite)を使用しており、LDAPサーバーに接続する方法の例があります。私は例を読みました、そしてそれは非常に奇妙な方法で働きます。期待どおりに「userPassword」フィールドにパスワードを保存するだけですが、bindコマンドを使用する代わりに手動で検証を行います。
これは私には意味がありませんが、これまでLDAPサーバーを使用したことがないため、ここでは間違っている可能性があります。誰かがbindを使用する代わりに手動でパスワードを比較したい理由を知っていますか?
コードは次のようになります。
Attribute attrPassword = attrs.get("userPassword");
if (attrPassword.size() > 0)
{
String storedPassword = new String((byte[])attrPassword.get(0));
if (password.equals(storedPassword))
{
///.....