summaryrefslogtreecommitdiffstats
path: root/app/models/auth_source_ldap.rb
diff options
context:
space:
mode:
authorJean-Philippe Lang <jp_lang@yahoo.fr>2010-02-26 09:13:12 +0000
committerJean-Philippe Lang <jp_lang@yahoo.fr>2010-02-26 09:13:12 +0000
commitd6f9e576e88dae3aeec6a4997d1dcf00c9821878 (patch)
tree6fb8f14474e8e5ea96f017af2bf5770dcb80c009 /app/models/auth_source_ldap.rb
parentf1d16bc0076de863c4a419c555079016280752fa (diff)
downloadredmine-d6f9e576e88dae3aeec6a4997d1dcf00c9821878.tar.gz
redmine-d6f9e576e88dae3aeec6a4997d1dcf00c9821878.zip
Makes AuthSource.authenticate return a hash instead of an array.
git-svn-id: svn+ssh://rubyforge.org/var/svn/redmine/trunk@3492 e93f8b46-1217-0410-a6f0-8f06a7374b81
Diffstat (limited to 'app/models/auth_source_ldap.rb')
-rw-r--r--app/models/auth_source_ldap.rb14
1 files changed, 7 insertions, 7 deletions
diff --git a/app/models/auth_source_ldap.rb b/app/models/auth_source_ldap.rb
index 0a5355072..d2a7e7041 100644
--- a/app/models/auth_source_ldap.rb
+++ b/app/models/auth_source_ldap.rb
@@ -35,9 +35,9 @@ class AuthSourceLdap < AuthSource
return nil if login.blank? || password.blank?
attrs = get_user_dn(login)
- if attrs.first && attrs.first[:dn] && authenticate_dn(attrs.first[:dn], password)
+ if attrs && attrs[:dn] && authenticate_dn(attrs[:dn], password)
logger.debug "Authentication successful for '#{login}'" if logger && logger.debug?
- return [] << attrs.first.except(:dn)
+ return attrs.except(:dn)
end
rescue Net::LDAP::LdapError => text
raise "LdapError: " + text
@@ -73,13 +73,13 @@ class AuthSourceLdap < AuthSource
end
def get_user_attributes_from_ldap_entry(entry)
- [
+ {
:dn => entry.dn,
:firstname => AuthSourceLdap.get_attr(entry, self.attr_firstname),
:lastname => AuthSourceLdap.get_attr(entry, self.attr_lastname),
:mail => AuthSourceLdap.get_attr(entry, self.attr_mail),
:auth_source_id => self.id
- ]
+ }
end
# Return the attributes needed for the LDAP search. It will only
@@ -104,7 +104,7 @@ class AuthSourceLdap < AuthSource
ldap_con = initialize_ldap_con(self.account, self.account_password)
login_filter = Net::LDAP::Filter.eq( self.attr_login, login )
object_filter = Net::LDAP::Filter.eq( "objectClass", "*" )
- attrs = []
+ attrs = {}
ldap_con.search( :base => self.base_dn,
:filter => object_filter & login_filter,
@@ -113,10 +113,10 @@ class AuthSourceLdap < AuthSource
if onthefly_register?
attrs = get_user_attributes_from_ldap_entry(entry)
else
- attrs = [:dn => entry.dn]
+ attrs = {:dn => entry.dn}
end
- logger.debug "DN found for #{login}: #{attrs.first[:dn]}" if logger && logger.debug?
+ logger.debug "DN found for #{login}: #{attrs[:dn]}" if logger && logger.debug?
end
attrs