From 5a14eaaee0f07d90433533cbf26a2288178119cd Mon Sep 17 00:00:00 2001 From: Henrique Dias Date: Thu, 20 Jul 2017 09:52:03 +0100 Subject: [PATCH] Docs updates and default user updates Former-commit-id: 9298fb352e71134edd6fbe2dfa171b1d9dcc4d22 [formerly c51c50f2a03869be18eec2f4d5af408902f26b6b] [formerly deff3d3ecc5912dba5f34ff02813a908e5866558 [formerly 0fc290f032f719500a983796e7e7db237a8521e2]] Former-commit-id: c21c8881b03846d2ab689fd34c13a0b9a8ba3902 [formerly 4a390dde126112e9969774173c15b28e6ce6d98c] Former-commit-id: de457e083b6197077641ca38c28a0446c3097963 --- caddy/filemanager/filemanager.go | 2 -- caddy/hugo/setup.go | 2 -- doc.go | 19 ++++++++++++++++++- filemanager.go | 22 +++++++++++----------- 4 files changed, 29 insertions(+), 16 deletions(-) diff --git a/caddy/filemanager/filemanager.go b/caddy/filemanager/filemanager.go index 9d7f740e..d3a5037e 100644 --- a/caddy/filemanager/filemanager.go +++ b/caddy/filemanager/filemanager.go @@ -126,8 +126,6 @@ func parse(c *caddy.Controller) ([]*config, error) { } fm, err := New(database, User{ - Username: "admin", - Password: "admin", AllowCommands: true, AllowEdit: true, AllowNew: true, diff --git a/caddy/hugo/setup.go b/caddy/hugo/setup.go index 56995eea..f5e5c487 100644 --- a/caddy/hugo/setup.go +++ b/caddy/hugo/setup.go @@ -101,8 +101,6 @@ func parse(c *caddy.Controller) ([]*filemanager.FileManager, error) { } m, err := filemanager.New(database, filemanager.User{ - Username: "admin", - Password: "admin", AllowCommands: true, AllowEdit: true, AllowNew: true, diff --git a/doc.go b/doc.go index 18cb52a2..1a3dd343 100644 --- a/doc.go +++ b/doc.go @@ -6,7 +6,24 @@ you'll need to create a filemanager instance: m, err := filemanager.New(database, user) Where 'user' contains the default options for new users. You can just -use 'filemanager.DefaultUser' +use 'filemanager.DefaultUser' or create yourself a default user: + + m, err := filemanager.New(database, filemanager.User{ + Admin: false, + AllowCommands: false, + AllowEdit: true, + AllowNew: true, + Commands: []string{ + "git", + }, + Rules: []*filemanager.Rule{}, + CSS: "", + FileSystem: webdav.Dir("/path/to/files"), + }) + +The credentials for the first user are always 'admin' for both the user and +the password, and they can be changed later through the settings. The first +user is always an Admin and has all of the permissions set to 'true'. Then, you should set the Prefix URL and the Base URL, using the following functions: diff --git a/filemanager.go b/filemanager.go index 1a72dff9..9b69cd7a 100644 --- a/filemanager.go +++ b/filemanager.go @@ -127,8 +127,6 @@ type Plugin interface { // DefaultUser is used on New, when no 'base' user is provided. var DefaultUser = User{ - Username: "admin", - Password: "admin", AllowCommands: true, AllowEdit: true, AllowNew: true, @@ -203,32 +201,34 @@ func New(database string, base User) (*FileManager, error) { // If there are no users in the database, it creates a new one // based on 'base' User that must be provided by the function caller. if len(users) == 0 { + u := base + u.Username = "admin" + // Hashes the password. - pw, err := hashPassword(base.Password) + u.Password, err = hashPassword("admin") if err != nil { return nil, err } // The first user must be an administrator. - base.Admin = true - base.Password = pw + u.Admin = true + u.AllowCommands = true + u.AllowNew = true + u.AllowEdit = true // Saves the user to the database. - if err := db.Save(&base); err != nil { + if err := db.Save(&u); err != nil { return nil, err } - m.Users[base.Username] = &base + m.Users[u.Username] = &u } // Attaches db to this File Manager instance. m.db = db // Create the default user, making a copy of the base. - u := base - u.Username = "" - u.Password = "" - m.DefaultUser = &u + m.DefaultUser = &base return m, nil }