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

Этот коммит содержится в:
Chris
2017-06-26 11:33:48 -07:00
коммит произвёл Joram Wilander
родитель f404483834
Коммит 69ae5cef16
2 изменённых файлов: 10 добавлений и 18 удалений

Просмотреть файл

@@ -176,7 +176,7 @@ func IsFirstUserAccount() bool {
} }
func CreateUser(user *model.User) (*model.User, *model.AppError) { 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, "") 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)))) domainArray := strings.Fields(strings.TrimSpace(strings.ToLower(strings.Replace(strings.Replace(domains, "@", " ", -1), ",", " ", -1))))
matched := false
for _, d := range domainArray { for _, d := range domainArray {
if strings.HasSuffix(strings.ToLower(user.Email), "@"+d) { if strings.HasSuffix(strings.ToLower(user.Email), "@"+d) {
matched = true return true
break
} }
} }
return matched return false
} }
// Check if the username is already used by another user. Return false if the username is invalid. // Check if the username is already used by another user. Return false if the username is invalid.

Просмотреть файл

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