Skip to content

Commit 5b3112b

Browse files
committed
feat: show logged in username
1 parent 26bb0d7 commit 5b3112b

File tree

6 files changed

+26
-30
lines changed

6 files changed

+26
-30
lines changed

src/serverHandler/archive.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ func (h *aliasHandler) visitTreeNode(
5353
archiveCallback archiveCallback,
5454
) {
5555
needAuth, _ := h.needAuth("", urlPath, fsPath)
56-
userId, _, err := h.verifyAuth(r, needAuth, urlPath, fsPath)
56+
userId, _, err := h.verifyAuth(r, urlPath, fsPath)
5757
if needAuth && err != nil {
5858
return
5959
}

src/serverHandler/auth.go

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,7 @@ func (h *aliasHandler) notifyAuth(w http.ResponseWriter) {
3333
w.Header().Set("WWW-Authenticate", "Basic realm=\"files\"")
3434
}
3535

36-
func (h *aliasHandler) verifyAuth(r *http.Request, needAuth bool, vhostReqPath, reqFsPath string) (authUserId int, authUserName string, err error) {
36+
func (h *aliasHandler) verifyAuth(r *http.Request, vhostReqPath, reqFsPath string) (authUserId int, authUserName string, err error) {
3737
inputUser, inputPass, hasAuthReq := r.BasicAuth()
3838

3939
if hasAuthReq {
@@ -46,18 +46,12 @@ func (h *aliasHandler) verifyAuth(r *http.Request, needAuth bool, vhostReqPath,
4646
if success {
4747
return userid, username, nil
4848
}
49-
}
50-
51-
if !needAuth {
52-
return -1, "", nil
53-
}
54-
55-
if !hasAuthReq {
56-
err = errors.New(r.RemoteAddr + " missing auth info")
57-
} else {
5849
err = errors.New(r.RemoteAddr + " auth failed")
50+
} else {
51+
err = errors.New(r.RemoteAddr + " missing auth info")
5952
}
6053

54+
authUserId = -1
6155
return
6256
}
6357

src/serverHandler/middleware.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ func (h *aliasHandler) applyMiddlewares(mids []middleware.Middleware, w http.Res
2222
AllowAccess: session.allowAccess,
2323

2424
NeedAuth: session.needAuth,
25-
AuthUserName: session.authUserName,
25+
AuthUserName: data.AuthUserName,
2626
AuthSuccess: session.authSuccess,
2727

2828
CanUpload: &data.CanUpload,

src/serverHandler/mutate.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,21 +15,21 @@ func (h *aliasHandler) mutate(w http.ResponseWriter, r *http.Request, session *s
1515
switch {
1616
case data.IsUpload:
1717
if data.CanUpload {
18-
success = h.saveUploadFiles(session.authUserName, h.fs+session.aliasReqPath, data.CanMkdir, data.CanDelete, data.AliasSubItems, r)
18+
success = h.saveUploadFiles(data.AuthUserName, h.fs+session.aliasReqPath, data.CanMkdir, data.CanDelete, data.AliasSubItems, r)
1919
} else {
2020
w.WriteHeader(http.StatusBadRequest)
2121
return
2222
}
2323
case data.IsMkdir:
2424
if data.CanMkdir && !h.logError(r.ParseForm()) {
25-
success = h.mkdirs(session.authUserName, h.fs+session.aliasReqPath, r.Form["name"], data.AliasSubItems, r)
25+
success = h.mkdirs(data.AuthUserName, h.fs+session.aliasReqPath, r.Form["name"], data.AliasSubItems, r)
2626
} else {
2727
w.WriteHeader(http.StatusBadRequest)
2828
return
2929
}
3030
case data.IsDelete:
3131
if data.CanDelete && !h.logError(r.ParseForm()) {
32-
success = h.deleteItems(session.authUserName, h.fs+session.aliasReqPath, r.Form["name"], data.AliasSubItems, r)
32+
success = h.deleteItems(data.AuthUserName, h.fs+session.aliasReqPath, r.Form["name"], data.AliasSubItems, r)
3333
} else {
3434
w.WriteHeader(http.StatusBadRequest)
3535
return

src/serverHandler/sessionData.go

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -41,11 +41,10 @@ type sessionContext struct {
4141

4242
allowAccess bool
4343

44-
needAuth bool
45-
requestAuth bool
46-
authUserId int
47-
authUserName string
48-
authSuccess bool
44+
needAuth bool
45+
requestAuth bool
46+
authUserId int
47+
authSuccess bool
4948

5049
redirectAction redirectAction
5150
vary string
@@ -59,6 +58,8 @@ type sessionContext struct {
5958
}
6059

6160
type responseData struct {
61+
AuthUserName string
62+
6263
IsDownload bool
6364
IsDownloadFile bool
6465
IsUpload bool
@@ -336,13 +337,11 @@ func (h *aliasHandler) getSessionData(r *http.Request) (session *sessionContext,
336337
status := http.StatusOK
337338

338339
needAuth, requestAuth := h.needAuth(rawQuery, vhostReqPath, fsPath)
339-
authUserId, authUserName, _authErr := h.verifyAuth(r, needAuth, vhostReqPath, fsPath)
340-
authSuccess := _authErr == nil
341-
if needAuth && !authSuccess {
342-
errs = append(errs, _authErr)
343-
}
340+
authUserId, authUserName, _authErr := h.verifyAuth(r, vhostReqPath, fsPath)
341+
authSuccess := !needAuth || _authErr == nil
344342
if !authSuccess {
345343
status = http.StatusUnauthorized
344+
errs = append(errs, _authErr)
346345
}
347346

348347
headers := h.getHeaders(vhostReqPath, fsPath, authSuccess)
@@ -477,11 +476,10 @@ func (h *aliasHandler) getSessionData(r *http.Request) (session *sessionContext,
477476

478477
allowAccess: allowAccess,
479478

480-
needAuth: needAuth,
481-
requestAuth: requestAuth,
482-
authUserId: authUserId,
483-
authUserName: authUserName,
484-
authSuccess: authSuccess,
479+
needAuth: needAuth,
480+
requestAuth: requestAuth,
481+
authUserId: authUserId,
482+
authSuccess: authSuccess,
485483

486484
redirectAction: redirectAction,
487485
vary: vary,
@@ -494,6 +492,8 @@ func (h *aliasHandler) getSessionData(r *http.Request) (session *sessionContext,
494492
errors: errs,
495493
}
496494
data = &responseData{
495+
AuthUserName: authUserName,
496+
497497
IsDownload: isDownload,
498498
IsDownloadFile: isDownloadFile,
499499
IsUpload: isUpload,

src/tpl/defaultTheme/frontend/index.html

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,8 @@
2222
</ol>
2323
{{if .LoginAvail}}
2424
<a class="login" href="{{if ne .Status 401}}{{.RootRelPath}}?auth={{.Path}}{{$contextQueryString}}{{end}}">{{.Trans.LoginLabel}}</a>
25+
{{else if .AuthUserName}}
26+
<span class="login">[{{.AuthUserName}}]</span>
2527
{{end}}
2628
{{if .CanUpload}}
2729
<div class="upload-status">

0 commit comments

Comments
 (0)