aboutsummaryrefslogtreecommitdiffstats
path: root/modules/auth
diff options
context:
space:
mode:
authorUnknwon <joe2010xtmf@163.com>2014-12-05 17:54:57 -0500
committerUnknwon <joe2010xtmf@163.com>2014-12-05 17:54:57 -0500
commit069486d169d7adac902a310e10b6580857735880 (patch)
tree18966a493e6d1d8d57bb8c9ef56ec65a16604db3 /modules/auth
parent298ebc58c1bc79375248e4b0be173201b935b742 (diff)
downloadgitea-069486d169d7adac902a310e10b6580857735880.tar.gz
gitea-069486d169d7adac902a310e10b6580857735880.zip
fix #165
Diffstat (limited to 'modules/auth')
-rw-r--r--modules/auth/auth.go20
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
}