Revision 0520370f
Added by Dominic Cleal about 9 years ago
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
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