Просмотр исходного кода

feat: Random Initial Password for Admin (#117)

lejianwen месяцев назад: 11
Родитель
Сommit
ff77014acb
1 измененных файлов с 18 добавлено и 15 удалено
  1. 18 15
      cmd/apimain.go

+ 18 - 15
cmd/apimain.go

@@ -12,7 +12,7 @@ import (
12 12
 	"Gwen/lib/upload"
13 13
 	"Gwen/model"
14 14
 	"Gwen/service"
15
-	"fmt"
15
+	"Gwen/utils"
16 16
 	"github.com/go-redis/redis/v8"
17 17
 	"github.com/nicksnyder/go-i18n/v2/i18n"
18 18
 	"github.com/spf13/cobra"
@@ -54,10 +54,10 @@ var resetPwdCmd = &cobra.Command{
54 54
 		admin := service.AllService.UserService.InfoById(1)
55 55
 		err := service.AllService.UserService.UpdatePassword(admin, pwd)
56 56
 		if err != nil {
57
-			fmt.Printf("reset password fail! %v \n", err)
57
+			global.Logger.Error("reset password fail! ", err)
58 58
 			return
59 59
 		}
60
-		fmt.Printf("reset password success! \n")
60
+		global.Logger.Info("reset password success! ")
61 61
 	},
62 62
 }
63 63
 var resetUserPwdCmd = &cobra.Command{
@@ -70,20 +70,20 @@ var resetUserPwdCmd = &cobra.Command{
70 70
 		pwd := args[1]
71 71
 		uid, err := strconv.Atoi(userId)
72 72
 		if err != nil {
73
-			fmt.Printf("userId must be int! \n")
73
+			global.Logger.Warn("userId must be int!")
74 74
 			return
75 75
 		}
76 76
 		if uid <= 0 {
77
-			fmt.Printf("userId must be greater than 0! \n")
77
+			global.Logger.Warn("userId must be greater than 0! ")
78 78
 			return
79 79
 		}
80 80
 		u := service.AllService.UserService.InfoById(uint(uid))
81 81
 		err = service.AllService.UserService.UpdatePassword(u, pwd)
82 82
 		if err != nil {
83
-			fmt.Printf("reset password fail! %v \n", err)
83
+			global.Logger.Warn("reset password fail! ", err)
84 84
 			return
85 85
 		}
86
-		fmt.Printf("reset password success! \n")
86
+		global.Logger.Info("reset password success!")
87 87
 	},
88 88
 }
89 89
 
@@ -93,7 +93,7 @@ func init() {
93 93
 }
94 94
 func main() {
95 95
 	if err := rootCmd.Execute(); err != nil {
96
-		fmt.Println(err)
96
+		global.Logger.Error(err)
97 97
 		os.Exit(1)
98 98
 	}
99 99
 }
@@ -175,7 +175,6 @@ func DatabaseAutoUpdate() {
175 175
 	if global.Config.Gorm.Type == config.TypeMysql {
176 176
 		//检查存不存在数据库,不存在则创建
177 177
 		dbName := db.Migrator().CurrentDatabase()
178
-		fmt.Println("dbName", dbName)
179 178
 		if dbName == "" {
180 179
 			dbName = global.Config.Mysql.Dbname
181 180
 			// 移除 DSN 中的数据库名称,以便初始连接时不指定数据库
@@ -187,18 +186,18 @@ func DatabaseAutoUpdate() {
187 186
 			// 获取底层的 *sql.DB 对象,并确保在程序退出时关闭连接
188 187
 			sqlDBWithoutDB, err := dbWithoutDB.DB()
189 188
 			if err != nil {
190
-				fmt.Printf("获取底层 *sql.DB 对象失败: %v\n", err)
189
+				global.Logger.Error("获取底层 *sql.DB 对象失败: %v\n", err)
191 190
 				return
192 191
 			}
193 192
 			defer func() {
194 193
 				if err := sqlDBWithoutDB.Close(); err != nil {
195
-					fmt.Printf("关闭连接失败: %v\n", err)
194
+					global.Logger.Error("关闭连接失败: %v\n", err)
196 195
 				}
197 196
 			}()
198 197
 
199 198
 			err = dbWithoutDB.Exec("CREATE DATABASE IF NOT EXISTS " + dbName + " DEFAULT CHARSET utf8mb4").Error
200 199
 			if err != nil {
201
-				fmt.Println(err)
200
+				global.Logger.Error(err)
202 201
 				return
203 202
 			}
204 203
 		}
@@ -235,7 +234,7 @@ func DatabaseAutoUpdate() {
235 234
 
236 235
 }
237 236
 func Migrate(version uint) {
238
-	fmt.Println("migrating....", version)
237
+	global.Logger.Info("migrating....", version)
239 238
 	err := global.DB.AutoMigrate(
240 239
 		&model.Version{},
241 240
 		&model.User{},
@@ -255,7 +254,7 @@ func Migrate(version uint) {
255 254
 		&model.ServerCmd{},
256 255
 	)
257 256
 	if err != nil {
258
-		fmt.Println("migrate err :=>", err)
257
+		global.Logger.Error("migrate err :=>", err)
259 258
 	}
260 259
 	global.DB.Create(&model.Version{Version: version})
261 260
 	//如果是初次则创建一个默认用户
@@ -289,7 +288,11 @@ func Migrate(version uint) {
289 288
 			IsAdmin:  &is_admin,
290 289
 			GroupId:  1,
291 290
 		}
292
-		admin.Password = service.AllService.UserService.EncryptPassword("admin")
291
+
292
+		// 生成随机密码
293
+		pwd := utils.RandomString(8)
294
+		global.Logger.Info("Admin Password Is: ", pwd)
295
+		admin.Password = service.AllService.UserService.EncryptPassword(pwd)
293 296
 		global.DB.Create(admin)
294 297
 	}
295 298