diff options
author | Unknwon <joe2010xtmf@163.com> | 2014-12-05 17:54:57 -0500 |
---|---|---|
committer | Unknwon <joe2010xtmf@163.com> | 2014-12-05 17:54:57 -0500 |
commit | 069486d169d7adac902a310e10b6580857735880 (patch) | |
tree | 18966a493e6d1d8d57bb8c9ef56ec65a16604db3 /modules/auth | |
parent | 298ebc58c1bc79375248e4b0be173201b935b742 (diff) | |
download | gitea-069486d169d7adac902a310e10b6580857735880.tar.gz gitea-069486d169d7adac902a310e10b6580857735880.zip |
fix #165
Diffstat (limited to 'modules/auth')
-rw-r--r-- | modules/auth/auth.go | 20 |
1 files changed, 19 insertions, 1 deletions
diff --git a/modules/auth/auth.go b/modules/auth/auth.go index 302620dbc8..5b7276b48a 100644 --- a/modules/auth/auth.go +++ b/modules/auth/auth.go @@ -60,6 +60,7 @@ func SignedInId(req *http.Request, sess session.Store) int64 { } // SignedInUser returns the user object of signed user. +// It returns a bool value to indicate whether user uses basic auth or not. func SignedInUser(req *http.Request, sess session.Store) (*models.User, bool) { if !models.HasEngine { return nil, false @@ -75,8 +76,25 @@ func SignedInUser(req *http.Request, sess session.Store) (*models.User, bool) { if err != nil { if err != models.ErrUserNotExist { log.Error(4, "GetUserByName: %v", err) + return nil, false + } + + // Check if enabled auto-registeration. + if setting.Service.EnableReverseProxyAutoRegister { + u := &models.User{ + Name: webAuthUser, + Email: webAuthUser + "@gogs.io", + Passwd: webAuthUser, + IsActive: true, + } + if err = models.CreateUser(u); err != nil { + // FIXME: should I create a system notice? + log.Error(4, "CreateUser: %v", err) + return nil, false + } else { + return u, false + } } - return nil, false } return u, false } |