summaryrefslogtreecommitdiffstats
path: root/modules/auth/auth_form.go
diff options
context:
space:
mode:
authorAdam Strzelecki <ono@java.pl>2015-12-01 14:49:49 +0100
committerAdam Strzelecki <ono@java.pl>2015-12-02 00:20:14 +0100
commit573305f3d3ac55a79639dcb4cc55694ad7a914a5 (patch)
treeb542b8a5446bcbdd5287212c390d9eb2816290b6 /modules/auth/auth_form.go
parent7ccce4d1102508cf1f993bde31bf502eb142a991 (diff)
downloadgitea-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.go45
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 {