diff options
author | Harrison Healey <harrisonmhealey@gmail.com> | 2016-05-12 12:06:26 -0400 |
---|---|---|
committer | Christopher Speller <crspeller@gmail.com> | 2016-05-12 12:06:26 -0400 |
commit | 6631f28d92d68e4e39848038f7f263f8588aa2ac (patch) | |
tree | 315924951ba4adc4071e3fcecbc6404e9db4b16b | |
parent | 04dfa2a9eb50d60b2d4c2533f465799966b363a6 (diff) | |
download | chat-6631f28d92d68e4e39848038f7f263f8588aa2ac.tar.gz chat-6631f28d92d68e4e39848038f7f263f8588aa2ac.tar.bz2 chat-6631f28d92d68e4e39848038f7f263f8588aa2ac.zip |
Improved handling of edge case where an LDAP user shares a username with a non-LDAP user (#2980)
-rw-r--r-- | api/user.go | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/api/user.go b/api/user.go index 4b9c3a3c8..9e93ae779 100644 --- a/api/user.go +++ b/api/user.go @@ -494,8 +494,11 @@ func getUserForLogin(loginId string, onlyLdap bool) (*model.User, *model.AppErro *utils.Cfg.EmailSettings.EnableSignInWithUsername && !onlyLdap, *utils.Cfg.EmailSettings.EnableSignInWithEmail && !onlyLdap, ldapAvailable, - ); result.Err != nil { - + ); result.Err != nil && result.Err.Id == "store.sql_user.get_for_login.multiple_users" { + // don't fall back to LDAP in this case since we already know there's an LDAP user, but that it shouldn't work + result.Err.StatusCode = http.StatusBadRequest + return nil, result.Err + } else if result.Err != nil { if !ldapAvailable { // failed to find user and no LDAP server to fall back on result.Err.StatusCode = http.StatusBadRequest |