1
0
Fork 0
forked from forgejo/forgejo

work on #616 and update locales

This commit is contained in:
Unknwon 2014-11-10 05:30:07 -05:00
parent ff8578082e
commit e0de6cb5ad
18 changed files with 230 additions and 189 deletions

View file

@ -14,6 +14,7 @@ import (
"github.com/macaron-contrib/session"
"github.com/gogits/gogs/models"
"github.com/gogits/gogs/modules/base"
"github.com/gogits/gogs/modules/log"
"github.com/gogits/gogs/modules/setting"
)
@ -24,20 +25,6 @@ func SignedInId(header http.Header, sess session.Store) int64 {
return 0
}
if setting.Service.EnableReverseProxyAuth {
webAuthUser := header.Get(setting.ReverseProxyAuthUser)
if len(webAuthUser) > 0 {
u, err := models.GetUserByName(webAuthUser)
if err != nil {
if err != models.ErrUserNotExist {
log.Error(4, "GetUserByName: %v", err)
}
return 0
}
return u.Id
}
}
uid := sess.Get("uid")
if uid == nil {
return 0
@ -56,8 +43,46 @@ func SignedInId(header http.Header, sess session.Store) int64 {
// SignedInUser returns the user object of signed user.
func SignedInUser(header http.Header, sess session.Store) *models.User {
if !models.HasEngine {
return nil
}
uid := SignedInId(header, sess)
if uid <= 0 {
if setting.Service.EnableReverseProxyAuth {
webAuthUser := header.Get(setting.ReverseProxyAuthUser)
if len(webAuthUser) > 0 {
u, err := models.GetUserByName(webAuthUser)
if err != nil {
if err != models.ErrUserNotExist {
log.Error(4, "GetUserByName: %v", err)
}
return nil
}
return u
}
}
// Check with basic auth.
baHead := header.Get("Authorization")
if len(baHead) > 0 {
auths := strings.Fields(baHead)
if len(auths) == 2 && auths[0] == "Basic" {
uname, passwd, _ := base.BasicAuthDecode(auths[1])
u, err := models.GetUserByName(uname)
if err != nil {
if err != models.ErrUserNotExist {
log.Error(4, "GetUserByName: %v", err)
}
return nil
}
if u.ValidtePassword(passwd) {
return u
}
}
}
return nil
}