verify for email domain for everything but ldap / saml (#6718)

This commit is contained in:
Chris
2017-06-26 11:33:48 -07:00
committed by Joram Wilander
parent f404483834
commit 69ae5cef16
2 changed files with 10 additions and 18 deletions

View File

@@ -176,7 +176,7 @@ func IsFirstUserAccount() bool {
}
func CreateUser(user *model.User) (*model.User, *model.AppError) {
if !user.IsSSOUser() && !CheckUserDomain(user, utils.Cfg.TeamSettings.RestrictCreationToDomains) {
if !user.IsLDAPUser() && !user.IsSAMLUser() && !CheckUserDomain(user, utils.Cfg.TeamSettings.RestrictCreationToDomains) {
return nil, model.NewLocAppError("CreateUser", "api.user.create_user.accepted_domain.app_error", nil, "")
}
@@ -313,15 +313,13 @@ func CheckUserDomain(user *model.User, domains string) bool {
domainArray := strings.Fields(strings.TrimSpace(strings.ToLower(strings.Replace(strings.Replace(domains, "@", " ", -1), ",", " ", -1))))
matched := false
for _, d := range domainArray {
if strings.HasSuffix(strings.ToLower(user.Email), "@"+d) {
matched = true
break
return true
}
}
return matched
return false
}
// Check if the username is already used by another user. Return false if the username is invalid.

View File

@@ -457,31 +457,25 @@ func IsInRole(userRoles string, inRole string) bool {
if r == inRole {
return true
}
}
return false
}
func (u *User) IsSSOUser() bool {
if u.AuthService != "" && u.AuthService != USER_AUTH_SERVICE_EMAIL {
return true
}
return false
return u.AuthService != "" && u.AuthService != USER_AUTH_SERVICE_EMAIL
}
func (u *User) IsOAuthUser() bool {
if u.AuthService == USER_AUTH_SERVICE_GITLAB {
return true
}
return false
return u.AuthService == USER_AUTH_SERVICE_GITLAB
}
func (u *User) IsLDAPUser() bool {
if u.AuthService == USER_AUTH_SERVICE_LDAP {
return true
}
return false
return u.AuthService == USER_AUTH_SERVICE_LDAP
}
func (u *User) IsSAMLUser() bool {
return u.AuthService == USER_AUTH_SERVICE_SAML
}
// UserFromJson will decode the input and return a User