verify for email domain for everything but ldap / saml (#6718)
Этот коммит содержится в:
коммит произвёл
Joram Wilander
родитель
f404483834
Коммит
69ae5cef16
@@ -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
|
||||||
|
|||||||
Ссылка в новой задаче
Block a user