fix(ldap): sync user teams when needed [EE-4802] (#8235)

pull/8330/head
Chaim Lev-Ari 2 years ago committed by GitHub
parent 1d5d1bb12d
commit 1c180346e4
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -127,9 +127,9 @@ func (handler *Handler) authenticateLDAP(w http.ResponseWriter, user *portainer.
} }
} }
err = handler.addUserIntoTeams(user, ldapSettings) err = handler.syncUserTeamsWithLDAPGroups(user, ldapSettings)
if err != nil { if err != nil {
log.Warn().Err(err).Msg("unable to automatically add user into teams") log.Warn().Err(err).Msg("unable to automatically sync user teams with ldap")
} }
return handler.writeToken(w, user, false) return handler.writeToken(w, user, false)
@ -150,7 +150,12 @@ func (handler *Handler) persistAndWriteToken(w http.ResponseWriter, tokenData *p
return response.JSON(w, &authenticateResponse{JWT: token}) return response.JSON(w, &authenticateResponse{JWT: token})
} }
func (handler *Handler) addUserIntoTeams(user *portainer.User, settings *portainer.LDAPSettings) error { func (handler *Handler) syncUserTeamsWithLDAPGroups(user *portainer.User, settings *portainer.LDAPSettings) error {
// only sync if there is a group base DN
if len(settings.GroupSearchSettings) == 0 || len(settings.GroupSearchSettings[0].GroupBaseDN) == 0 {
return nil
}
teams, err := handler.DataStore.Team().Teams() teams, err := handler.DataStore.Team().Teams()
if err != nil { if err != nil {
return err return err

Loading…
Cancel
Save