diff --git a/pkg/login/ldap.go b/pkg/login/ldap.go index 48f226ccfa5..0c817c9df0b 100644 --- a/pkg/login/ldap.go +++ b/pkg/login/ldap.go @@ -219,7 +219,8 @@ func (a *ldapAuther) syncOrgRoles(user *m.User, ldapUser *ldapUserInfo) error { // add role cmd := m.AddOrgUserCommand{UserId: user.Id, Role: group.OrgRole, OrgId: group.OrgId} - if err := bus.Dispatch(&cmd); err != nil { + err := bus.Dispatch(&cmd) + if err != nil && err != m.ErrOrgNotFound { return err } diff --git a/pkg/services/sqlstore/org_users.go b/pkg/services/sqlstore/org_users.go index fdd671d0bfe..11ea558b0ce 100644 --- a/pkg/services/sqlstore/org_users.go +++ b/pkg/services/sqlstore/org_users.go @@ -26,6 +26,12 @@ func AddOrgUser(cmd *m.AddOrgUserCommand) error { return m.ErrOrgUserAlreadyAdded } + if res, err := sess.Query("SELECT 1 from org WHERE id=?", cmd.OrgId); err != nil { + return err + } else if len(res) != 1 { + return m.ErrOrgNotFound + } + entity := m.OrgUser{ OrgId: cmd.OrgId, UserId: cmd.UserId,