diff options
author | Adam Strzelecki <ono@java.pl> | 2015-12-01 14:49:49 +0100 |
---|---|---|
committer | Adam Strzelecki <ono@java.pl> | 2015-12-02 00:20:14 +0100 |
commit | 573305f3d3ac55a79639dcb4cc55694ad7a914a5 (patch) | |
tree | b542b8a5446bcbdd5287212c390d9eb2816290b6 /modules/auth/auth_form.go | |
parent | 7ccce4d1102508cf1f993bde31bf502eb142a991 (diff) | |
download | gitea-573305f3d3ac55a79639dcb4cc55694ad7a914a5.tar.gz gitea-573305f3d3ac55a79639dcb4cc55694ad7a914a5.zip |
LDAP: Optional user name attribute specification
Consider following LDAP search query example:
(&(objectClass=Person)(|(uid=%s)(mail=%s)))
Right now on first login attempt Gogs will use the text supplied on login form
as the newly created user name. In example query above the text matches against
both e-mail or user name. So if user puts the e-mail then the new Gogs user
name will be e-mail which may be undesired.
Using optional user name attribute setting we can explicitly say we want Gogs
user name to be certain LDAP attribute eg. `uid`, so even user will use e-mail
to login 1st time, the new account will receive correct user name.
Diffstat (limited to 'modules/auth/auth_form.go')
-rw-r--r-- | modules/auth/auth_form.go | 45 |
1 files changed, 23 insertions, 22 deletions
diff --git a/modules/auth/auth_form.go b/modules/auth/auth_form.go index 6f356344da..1604792a66 100644 --- a/modules/auth/auth_form.go +++ b/modules/auth/auth_form.go @@ -10,28 +10,29 @@ import ( ) type AuthenticationForm struct { - ID int64 - Type int `binding:"Range(2,5)"` - Name string `binding:"Required;MaxSize(30)"` - Host string - Port int - BindDN string - BindPassword string - UserBase string - UserDN string `form:"user_dn"` - AttributeName string - AttributeSurname string - AttributeMail string - Filter string - AdminFilter string - IsActive bool - SMTPAuth string - SMTPHost string - SMTPPort int - AllowedDomains string - TLS bool - SkipVerify bool - PAMServiceName string `form:"pam_service_name"` + ID int64 + Type int `binding:"Range(2,5)"` + Name string `binding:"Required;MaxSize(30)"` + Host string + Port int + BindDN string + BindPassword string + UserBase string + UserDN string `form:"user_dn"` + AttributeUsername string + AttributeName string + AttributeSurname string + AttributeMail string + Filter string + AdminFilter string + IsActive bool + SMTPAuth string + SMTPHost string + SMTPPort int + AllowedDomains string + TLS bool + SkipVerify bool + PAMServiceName string `form:"pam_service_name"` } func (f *AuthenticationForm) Validate(ctx *macaron.Context, errs binding.Errors) binding.Errors { |