diff --git a/Services/Auth/AuthService.cs b/Services/Auth/AuthService.cs index ce52193..48bf1bf 100644 --- a/Services/Auth/AuthService.cs +++ b/Services/Auth/AuthService.cs @@ -27,7 +27,6 @@ public class AuthService(IDbContextFactory dbContextFactory, IConfi { return (false, "该用户名已被使用", null); } - var user = new User { UserName = request.UserName, @@ -36,6 +35,11 @@ public class AuthService(IDbContextFactory dbContextFactory, IConfi CreatedAt = DateTime.UtcNow, UpdatedAt = DateTime.UtcNow }; + var userCount = await context.Users.CountAsync(); + if (userCount == 0) + { + user.RoleId = 1; + } context.Users.Add(user); await context.SaveChangesAsync(); return (true, "用户注册成功", user); @@ -277,7 +281,7 @@ public class AuthService(IDbContextFactory dbContextFactory, IConfi } var (isSuccess, message, user) = await FindOrCreateGitHubUserAsync(githubUserId, name ?? loginName, email); - + if (!isSuccess || user == null) { Console.WriteLine($"创建或查找GitHub用户失败: {message}"); diff --git a/Services/Initializer/DatabaseInitializer.cs b/Services/Initializer/DatabaseInitializer.cs index 322278e..f1bdbe9 100644 --- a/Services/Initializer/DatabaseInitializer.cs +++ b/Services/Initializer/DatabaseInitializer.cs @@ -91,33 +91,7 @@ public class DatabaseInitializer( await context.Roles.AddAsync(adminRole); await context.SaveChangesAsync(); } - - // 检查并创建管理员用户 - var adminUser = await context.Users.FirstOrDefaultAsync(u => u.UserName == "Admin"); - if (adminUser == null) - { - // 生成随机6位密码 - string password = GenerateRandomPassword(6); - string passwordHash = HashPassword(password); - - logger.LogInformation("创建管理员用户,邮箱: you@foxel.cc,密码: {Password}", password); - adminUser = new User - { - UserName = "Admin", - Email = "you@foxel.cc", - PasswordHash = passwordHash, - RoleId = adminRole.Id, - CreatedAt = DateTime.UtcNow, - UpdatedAt = DateTime.UtcNow - }; - await context.Users.AddAsync(adminUser); - - Console.ForegroundColor = ConsoleColor.Yellow; - Console.WriteLine($"[重要] 管理员账户初始密码: {password},请及时修改"); - Console.WriteLine($"[重要] 请及时登录后台修改AI相关配置,系统才可正常运行"); - Console.ResetColor(); - await context.SaveChangesAsync(); - } + logger.LogInformation("请注意,第一个注册的用户将自动成为管理员"); } private string GenerateRandomPassword(int length)