diff --git a/app/models/auth_source_ldap.rb b/app/models/auth_source_ldap.rb index 1378d00..0a53550 100644 --- a/app/models/auth_source_ldap.rb +++ b/app/models/auth_source_ldap.rb @@ -37,7 +37,7 @@ class AuthSourceLdap < AuthSource if attrs.first && attrs.first[:dn] && authenticate_dn(attrs.first[:dn], password) logger.debug "Authentication successful for '#{login}'" if logger && logger.debug? - return attrs + return [] << attrs.first.except(:dn) end rescue Net::LDAP::LdapError => text raise "LdapError: " + text diff --git a/app/models/user.rb b/app/models/user.rb index 496ca21..8a69fda 100644 --- a/app/models/user.rb +++ b/app/models/user.rb @@ -111,8 +111,7 @@ class User < Principal # user is not yet registered, try to authenticate with available sources attrs = AuthSource.authenticate(login, password) if attrs - attributes = *attrs - user = new(attributes.symbolize_keys.except(:dn)) + user = new(*attrs) user.login = login user.language = Setting.default_language if user.save