Factor out function to get the current user
The same logic was duplicated in three places. Factor it out so that we can add further fallbacks in a single place.
This commit is contained in:
parent
b35d7eee31
commit
0d38794c7f
3 changed files with 23 additions and 12 deletions
|
@ -24,6 +24,7 @@ import (
|
|||
"github.com/gogits/gogs/modules/bindata"
|
||||
"github.com/gogits/gogs/modules/log"
|
||||
// "github.com/gogits/gogs/modules/ssh"
|
||||
"github.com/gogits/gogs/modules/user"
|
||||
)
|
||||
|
||||
type Scheme string
|
||||
|
@ -309,10 +310,7 @@ func NewConfigContext() {
|
|||
}[Cfg.Section("time").Key("FORMAT").MustString("RFC1123")]
|
||||
|
||||
RunUser = Cfg.Section("").Key("RUN_USER").String()
|
||||
curUser := os.Getenv("USER")
|
||||
if len(curUser) == 0 {
|
||||
curUser = os.Getenv("USERNAME")
|
||||
}
|
||||
curUser := user.CurrentUsername()
|
||||
// Does not check run user when the install lock is off.
|
||||
if InstallLock && RunUser != curUser {
|
||||
log.Fatal(4, "Expect user(%s) but current user is: %s", RunUser, curUser)
|
||||
|
|
18
modules/user/user.go
Normal file
18
modules/user/user.go
Normal file
|
@ -0,0 +1,18 @@
|
|||
// Copyright 2014 The Gogs Authors. All rights reserved.
|
||||
// Use of this source code is governed by a MIT-style
|
||||
// license that can be found in the LICENSE file.
|
||||
|
||||
package user
|
||||
|
||||
import (
|
||||
"os"
|
||||
)
|
||||
|
||||
func CurrentUsername() string {
|
||||
curUserName := os.Getenv("USER")
|
||||
if len(curUserName) > 0 {
|
||||
return curUserName
|
||||
}
|
||||
|
||||
return os.Getenv("USERNAME")
|
||||
}
|
Loading…
Add table
Add a link
Reference in a new issue