Add authentication

This commit is contained in:
Khanh Ngo 2020-04-24 18:14:54 +07:00
parent a78c9f3dd4
commit a5fbb7b58a
No known key found for this signature in database
GPG key ID: D5FAA6A16150E49E
13 changed files with 306 additions and 7 deletions
util

View file

@ -15,6 +15,8 @@ import (
)
const dbPath = "./db"
const defaultUsername = "admin"
const defaultPassword = "admin"
const defaultServerAddress = "10.252.1.0/24"
const defaultServerPort = 51820
const defaultDNS = "1.1.1.1"
@ -38,6 +40,7 @@ func InitDB() error {
var serverInterfacePath string = path.Join(serverPath, "interfaces.json")
var serverKeyPairPath string = path.Join(serverPath, "keypair.json")
var globalSettingPath string = path.Join(serverPath, "global_settings.json")
var userPath string = path.Join(serverPath, "users.json")
// create directories if they do not exist
if _, err := os.Stat(clientPath); os.IsNotExist(err) {
@ -101,9 +104,38 @@ func InitDB() error {
db.Write("server", "global_settings", globalSetting)
}
// user info
if _, err := os.Stat(userPath); os.IsNotExist(err) {
db, err := DBConn()
if err != nil {
return err
}
user := new(model.User)
user.Username = defaultUsername
user.Password = defaultPassword
db.Write("server", "user", user)
}
return nil
}
// GetUser func to query user info from the database
func GetUser() (model.User, error) {
user := model.User{}
db, err := DBConn()
if err != nil {
return user, err
}
if err := db.Read("server", "user", &user); err != nil {
return user, err
}
return user, nil
}
// GetGlobalSettings func to query global settings from the database
func GetGlobalSettings() (model.GlobalSetting, error) {
settings := model.GlobalSetting{}