Project

General

Profile

« Previous | Next » 

Revision 0520370f

Added by Dominic Cleal about 9 years ago

fixes #10493 - disable usergroup sync on login when $login is used

(cherry picked from commit 7891164bffb6746b13dde15a2d38f3371d0abab7)

Conflicts:
app/models/auth_sources/auth_source_ldap.rb

View differences:

app/models/auth_sources/auth_source_ldap.rb
end
def update_usergroups(login)
if use_user_login_for_service?
logger.info "Skipping user group update for user #{login} as $login is in use, group sync is unsupported"
return
end
internal = User.find(login).external_usergroups.map(&:name)
external = ldap_con(account, account_password).group_list(login)
external = ldap_con.group_list(login)
(internal | external).each do |name|
begin
external_usergroup = external_usergroups.find_by_name(name)
test/unit/auth_source_ldap_test.rb
end
end
test 'update_usergroups is no-op with $login service account' do
ldap = FactoryGirl.build(:auth_source_ldap, :account => 'DOMAIN/$login')
User.any_instance.expects(:external_usergroups).never
ExternalUsergroup.any_instance.expects(:refresh).never
ldap.send(:update_usergroups, 'test')
end
test '#to_config with dedicated service account returns hash' do
conf = FactoryGirl.build(:auth_source_ldap, :service_account).to_config
assert_kind_of Hash, conf

Also available in: Unified diff