Sha256: 3fada98dc9e36ed77c4bfca75a79227de25fdacc498a3f483d1bd1c2ecf4b6c8

Contents?: true

Size: 1.11 KB

Versions: 1

Compression:

Stored size: 1.11 KB

Contents

module Adauth
    # Active Directory Connection wrapper
    #
    # Handles errors and configures the connection.
    class Connection
        def initialize(config)
            @config = config
        end
        
        # Attempts to bind to Active Directory
        #
        # If it works it returns the connection
        #
        # If it fails it raises and exception
        def bind
            conn = Net::LDAP.new :host => @config[:server],
                                 :port => @config[:port],
                                 :base => @config[:base]
            if @config[:encryption]
               conn.encryption = @config[:encryption]
            end

            conn.auth "#{@config[:username]}@#{@config[:domain]}", @config[:password]

            begin
                Timeout::timeout(10){
                    if conn.bind
                        return conn
                    else
                        raise "Query User Rejected"
                    end
                }
            rescue Timeout::Error
                raise "Unable to connect to LDAP Server"
            end
        end
    end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
adauth-2.0.0pre lib/adauth/connection.rb