Problem doing find in ActiveLdap

require ‘active_ldap’

ActiveLdap::Base.establish_connection(
:host => ‘hostname’,
:bind_dn => ‘cn=admin,ou=users,dc=company,dc=it’,
:base => ‘ou=addressbooks,dc=company,dc=it’,
:password_block => ‘admin’
)

class Addressbook < ActiveLdap::Base
ldap_mapping :dn_attribute => ‘cn’, :prefix => ‘ou=addressbooks’
end

p Addressbook.find(:all, ‘John’)
p Addressbook.find(:all, :attribute => ‘givenName’, :value => ‘John’)

both find returns []

What am I doing wrong?

thanks

Hi,

2007/7/19, Claudio C. [email protected]:

ActiveLdap::Base.establish_connection(
:host => ‘hostname’,
:bind_dn => ‘cn=admin,ou=users,dc=company,dc=it’,
:base => ‘ou=addressbooks,dc=company,dc=it’,
:password_block => ‘admin’
)

You need to pass Proc object to :password_block or use :password
with String.

class Addressbook < ActiveLdap::Base
ldap_mapping :dn_attribute => ‘cn’, :prefix => ‘ou=addressbooks’
end

In your configuration, you need to set :prefix to ‘’ because you already
specify ‘ou=addressbooks,dc=company,dc=it’ as :base in
establish_connection. Or change :base to ‘dc=company,dc=it’ and keep
:prefix ‘ou=addressbooks’.

Thanks,

Kouhei S. wrote:

Hi,

2007/7/19, Claudio C. [email protected]:

ActiveLdap::Base.establish_connection(
:host => ‘hostname’,
:bind_dn => ‘cn=admin,ou=users,dc=company,dc=it’,
:base => ‘ou=addressbooks,dc=company,dc=it’,
:password_block => ‘admin’
)

You need to pass Proc object to :password_block or use :password
with String.

class Addressbook < ActiveLdap::Base
ldap_mapping :dn_attribute => ‘cn’, :prefix => ‘ou=addressbooks’
end

In your configuration, you need to set :prefix to ‘’ because you already
specify ‘ou=addressbooks,dc=company,dc=it’ as :base in
establish_connection. Or change :base to ‘dc=company,dc=it’ and keep
:prefix ‘ou=addressbooks’.

Thanks,

I follow your directive and i added this:

pwb = Proc.new do |user|
ActiveLdap::Command.read_password("[#{user}] Password: ")
end

…and works like a charm!!!

Thanks a lot!