Skip to content

Instantly share code, notes, and snippets.

@baconpat
Created December 16, 2010 02:44
Show Gist options
  • Save baconpat/742953 to your computer and use it in GitHub Desktop.
Save baconpat/742953 to your computer and use it in GitHub Desktop.
class ActiveDirectory
include EnvironmentConfigurable
configure_with "config/active_directory.yml"
def self.valid_credentials?(login, password)
ldap = Net::LDAP.new(
:host => config.host, # active_directory.atomicobject.com
:port => config.port, # 389
:base => config.base, # dc=atomicobject,dc=com
:auth => {
:method => :simple,
:username => config.server_username, # cn=server,dc=atomicobject,dc=com
:password => config.server_password # server password
}
)
filter = Net::LDAP::Filter.eq('sAMAccountName', login)
if ldap.bind_as(:filter => filter, :password => password)
true
else
Rails.logger.error("Active Directory validation failed for '#{login}': #{ldap.get_operation_result.message}")
false
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment