The LDAP server is from Netscape, don't know exactly which version is it.

> the Size limit exceeded error. Can you show an example of the bind_as
> call that you are using?

Yes, of course. This is the module I use to authenticate with bind_as:

   require 'net/ldap'

   module LDAP
     # If login succeeds returns true
     # If login fails returns false
     def self.authenticate(identifier, password)
       if identifier.to_s.length > 0 and password.to_s.length > 0
         ldap_con = initialize_ldap_con(identifier, password)
         if ldap_con.bind_as
           true
         else
           p "ERROR => #{ldap_con.get_operation_result}"
           false
         end
       end
     end

     private

     def self.initialize_ldap_con(identifier, password)
       setup = {:host => AppConfig.ldap_server_host,
                :port => AppConfig.ldap_server_port,
                :base =>AppConfig.ldap_server_tree_base }
       setup[:auth] = { :method => :simple, :username => identifier, :password => password }
       Net::LDAP.new(setup)
     end
   end

However, this doesn't work when I use bind, first I had to make the DN.