From 9ed9f6e4dfbe5a8c9fb1261e7fabe1380acb1997 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Boulanouar?= Date: Wed, 17 May 2017 21:56:41 +0200 Subject: [PATCH 1/7] Update User information in Gitea based on LDAP when login --- models/login_source.go | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/models/login_source.go b/models/login_source.go index ce03c4154f6d4..ebf8b168dd7ed 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -403,6 +403,18 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR var isAttributeSSHPublicKeySet = len(strings.TrimSpace(source.LDAP().AttributeSSHPublicKey)) > 0 + // Update User if exist + isExist, err := IsUserExist(0, sr.Username) + if err != nil { + return nil, err + } else if isExist { + user.LowerName = strings.ToLower(sr.Username) + user.Name = sr.Username + user.FullName = composeFullName(sr.Name, sr.Surname, sr.Username) + user.Email = sr.Mail + user.IsAdmin = sr.IsAdmin + } + if !autoRegister { if isAttributeSSHPublicKeySet && synchronizeLdapSSHPublicKeys(user, source, sr.SSHPublicKey) { return user, RewriteAllPublicKeys() From f15fcbfcf1669ae0e3a18b09e549b0dc9062564d Mon Sep 17 00:00:00 2001 From: Remy Boulanouar Date: Thu, 18 May 2017 13:42:17 +0200 Subject: [PATCH 2/7] Update Admin Flag only if exist in settings --- models/login_source.go | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/models/login_source.go b/models/login_source.go index ebf8b168dd7ed..af2a9c4a32933 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -408,11 +408,12 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR if err != nil { return nil, err } else if isExist { - user.LowerName = strings.ToLower(sr.Username) - user.Name = sr.Username user.FullName = composeFullName(sr.Name, sr.Surname, sr.Username) user.Email = sr.Mail - user.IsAdmin = sr.IsAdmin + // Change existing admin flag only if AdminFilter option is set + if len(source.LDAP().AdminFilter) > 0 { + user.IsAdmin = sr.IsAdmin + } } if !autoRegister { From 879b5f7b2d8d81af49b8d591157f3a91f574ca65 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Boulanouar?= Date: Mon, 28 Oct 2019 17:24:32 +0100 Subject: [PATCH 3/7] Fix affectation --- models/login_source.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/login_source.go b/models/login_source.go index af2a9c4a32933..166acd9c3cb50 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -449,7 +449,7 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR IsAdmin: sr.IsAdmin, } - err := CreateUser(user) + err = CreateUser(user) if err == nil && isAttributeSSHPublicKeySet && addLdapSSHPublicKeys(user, source, sr.SSHPublicKey) { err = RewriteAllPublicKeys() From d0f465e4c4ce130a8e358cd235e4ea3c98aa5cc6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Boulanouar?= Date: Mon, 28 Oct 2019 17:25:16 +0100 Subject: [PATCH 4/7] Update models/login_source.go Co-Authored-By: JustKiddingCode --- models/login_source.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/login_source.go b/models/login_source.go index af2a9c4a32933..7e5331d6a1452 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -415,7 +415,7 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR user.IsAdmin = sr.IsAdmin } } - +updateUserCols(user,"full_name","email","is_admin") if !autoRegister { if isAttributeSSHPublicKeySet && synchronizeLdapSSHPublicKeys(user, source, sr.SSHPublicKey) { return user, RewriteAllPublicKeys() From db57637478cb858dd2ba7e6c40259049cda5bf1e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Boulanouar?= Date: Tue, 29 Oct 2019 08:47:38 +0100 Subject: [PATCH 5/7] Better ident --- models/login_source.go | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/models/login_source.go b/models/login_source.go index 82de9c8e4fbe8..ef606b02266a9 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -415,7 +415,8 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR user.IsAdmin = sr.IsAdmin } } -updateUserCols(user,"full_name","email","is_admin") + updateUserCols(user, "full_name", "email", "is_admin") + if !autoRegister { if isAttributeSSHPublicKeySet && synchronizeLdapSSHPublicKeys(user, source, sr.SSHPublicKey) { return user, RewriteAllPublicKeys() From e9d9244866060474b81906a650e79351f0b1e195 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?R=C3=A9my=20Boulanouar?= Date: Fri, 1 Nov 2019 22:13:52 +0100 Subject: [PATCH 6/7] Apply suggestions from code review Update user information Co-Authored-By: 6543 <24977596+6543@users.noreply.github.com> --- models/login_source.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/login_source.go b/models/login_source.go index ef606b02266a9..a0d4a112531f1 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -414,8 +414,8 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR if len(source.LDAP().AdminFilter) > 0 { user.IsAdmin = sr.IsAdmin } + UpdateUserCols(user, "full_name", "email", "is_admin") } - updateUserCols(user, "full_name", "email", "is_admin") if !autoRegister { if isAttributeSSHPublicKeySet && synchronizeLdapSSHPublicKeys(user, source, sr.SSHPublicKey) { From 89f00069b4593fcc8aaf7161aa4579c693faff44 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Re=CC=81my=20Boulanouar?= Date: Sun, 3 Nov 2019 21:17:48 +0100 Subject: [PATCH 7/7] Make fmt --- models/login_source.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/models/login_source.go b/models/login_source.go index a0d4a112531f1..453ad57dcae4a 100644 --- a/models/login_source.go +++ b/models/login_source.go @@ -414,7 +414,7 @@ func LoginViaLDAP(user *User, login, password string, source *LoginSource, autoR if len(source.LDAP().AdminFilter) > 0 { user.IsAdmin = sr.IsAdmin } - UpdateUserCols(user, "full_name", "email", "is_admin") + UpdateUserCols(user, "full_name", "email", "is_admin") } if !autoRegister {