Net::LDAP

Im having difficulties setting up my controller to connect to our ldap
server. I've searched around in google and found wikis of snippets of
some code to set ruby ldap. Below is what I currently have but Im
getting "uninitialized constant LDAP" when I try to access the login.
Im not what what Im missing or how to debug this. Any suggestions or
tips is appreciated.

class LoginController < ApplicationController

  #Bind with the main credential and query the full DN of the email
address
  #given to us as a parameter, then unbind and rebind as the user.
  def self.authenticate(username,password)
    logger.debug("username = " + username)

    ldap_con = initialize_ldap_con(username,password)
    treebase = "DC=domain,DC=domainext"
    mail_filter = Net::LDAP::Filter.eq( "mail", '...@test.com' )
    op_filter = Net::LDAP::Filter.eq( "objectClass",
"organizationalPerson" )
    dn = String.new
    ldap_con.search( :base => treebase, :filter => op_filter &
mail_filter, :attributes=> 'dn') do |entry|
      dn = entry.dn
    end
    login_succeeded = false
    unless dn.empty?
      ldap_con = initialize_ldap_con(dn,password)
      login_succeeded = true if ldap_con.bind
    end
    logger.debug("login_succeeded = " + login_succeeded)
    login_succeeded
  end

  private
  def self.initialize_ldap_con(user_name, password)
    Net::LDAP.new( {:host => 'hostnamehere', :port => 389, :auth => {
:method => :simple, :username => user_name, :password => password }} )
  end

  def index
     case @request.method
      when :post
        if @session['user'] =
LoginController.authenticate(@params['user_login'],
@params['user_password'])

          flash['notice'] = "Login successful"
          redirect_back_or_default :action => "overview"
        else
          @login = @params['user_login']
          @message = "Login unsuccessful"
      end
    end
  end
end

Here is my embarrasingly simplest-thing-that-could-work:

class LoginTestController < ApplicationController
  def index
    ldap = Net::LDAP.new
    ldap.host = 'COSEAD.cose.win2k'
    ldap.port = 389
    ldap.auth 'username@cose.win2k', 'some_test_password'
    if ldap.bind
      # authentication succeeded
      render :text=>'yay'
    else
      # authentication failed
      render :text=>'boo'
    end
  end
end

That at least makes sure the LDAP part works, then it's simple to build
out the Rails part.

Ron