push + pull now works with reverse proxy + basic auth on apache 2.4
This commit is contained in:
parent
937b4b5aa1
commit
37eec6c9b7
1 changed files with 81 additions and 68 deletions
|
@ -83,6 +83,18 @@ func HTTP(ctx *context.Context) {
|
||||||
|
|
||||||
// check access
|
// check access
|
||||||
if askAuth {
|
if askAuth {
|
||||||
|
if setting.Service.EnableReverseProxyAuth {
|
||||||
|
authUsername = ctx.Req.Header.Get(setting.ReverseProxyAuthUser)
|
||||||
|
if len(authUsername) == 0 {
|
||||||
|
ctx.HandleText(401, "reverse proxy login error. authUsername empty")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
authUser, err = models.GetUserByName(authUsername)
|
||||||
|
if err != nil {
|
||||||
|
ctx.HandleText(401, "reverse proxy login error, got error while running GetUserByName")
|
||||||
|
return
|
||||||
|
}
|
||||||
|
}else{
|
||||||
authHead := ctx.Req.Header.Get("Authorization")
|
authHead := ctx.Req.Header.Get("Authorization")
|
||||||
if len(authHead) == 0 {
|
if len(authHead) == 0 {
|
||||||
ctx.Resp.Header().Set("WWW-Authenticate", "Basic realm=\".\"")
|
ctx.Resp.Header().Set("WWW-Authenticate", "Basic realm=\".\"")
|
||||||
|
@ -165,6 +177,7 @@ func HTTP(ctx *context.Context) {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
callback := func(rpc string, input []byte) {
|
callback := func(rpc string, input []byte) {
|
||||||
if rpc != "receive-pack" || isWiki {
|
if rpc != "receive-pack" || isWiki {
|
||||||
|
|
Loading…
Reference in a new issue