管理员账号创建快速参考.md 4.1 KB

管理员账号创建快速参考

🚀 快速开始

方法1:使用SQL脚本(最简单)

# 执行SQL脚本
mysql -u root -p books_db < book/src/main/resources/db/create_admin_account.sql

默认账号:

  • 用户名:admin
  • 密码:admin123

方法2:使用Java代码

在测试类中使用

@SpringBootTest
public class MyTest {
    @Autowired
    private AdminAccountUtil adminAccountUtil;
    
    @Test
    public void createAdmin() {
        // 创建默认管理员
        adminAccountUtil.createDefaultAdmin();
        
        // 或创建自定义管理员
        adminAccountUtil.createAdmin("myadmin", "mypassword123", "我的管理员");
    }
}

在Controller中使用

@RestController
public class AdminController {
    @Autowired
    private AdminAccountUtil adminAccountUtil;
    
    @PostMapping("/init")
    public String init() {
        return adminAccountUtil.createDefaultAdmin();
    }
}

方法3:直接执行SQL

USE books_db;

-- 创建管理员账号
INSERT INTO `users` (`username`, `nickname`, `password`, `role`, `status`, `created_at`, `updated_at`)
SELECT 'admin', '管理员', '0192023a7bbd73250516f069df18b500', 'admin', 1, NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM `users` WHERE `username` = 'admin');

📋 常用操作

创建管理员

SQL方式:

INSERT INTO `users` (`username`, `nickname`, `password`, `role`, `status`, `created_at`, `updated_at`)
SELECT 'admin', '管理员', MD5('admin123'), 'admin', 1, NOW(), NOW()
WHERE NOT EXISTS (SELECT 1 FROM `users` WHERE `username` = 'admin');

Java方式:

adminAccountUtil.createAdmin("admin", "admin123", "管理员");

修改密码

SQL方式:

UPDATE users 
SET password = MD5('newpassword123'), updated_at = NOW()
WHERE username = 'admin' AND role = 'admin';

Java方式:

adminAccountUtil.updateAdminPassword("admin", "newpassword123");

将普通用户升级为管理员

SQL方式:

UPDATE users 
SET role = 'admin', updated_at = NOW()
WHERE username = '普通用户名';

Java方式:

adminAccountUtil.upgradeToAdmin("普通用户名");

禁用/启用管理员

SQL方式:

-- 禁用
UPDATE users SET status = 0 WHERE username = 'admin' AND role = 'admin';

-- 启用
UPDATE users SET status = 1 WHERE username = 'admin' AND role = 'admin';

Java方式:

// 禁用
adminAccountUtil.disableAdmin("admin");

// 启用
adminAccountUtil.enableAdmin("admin");

查询所有管理员

SELECT id, username, nickname, role, status, created_at 
FROM users 
WHERE role = 'admin';

🔑 密码MD5值计算

在线工具

MySQL函数

SELECT MD5('your_password');

Java代码

String encrypted = PasswordUtil.encrypt("your_password");
System.out.println(encrypted);

✅ 验证管理员账号

1. 查询数据库

SELECT * FROM users WHERE username = 'admin' AND role = 'admin';

2. 测试登录接口

curl -X POST http://localhost:8081/api/admin/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

3. 使用后台管理系统

访问:http://localhost:8081/pages/login.html 使用账号密码登录


📝 默认账号信息

项目
用户名 admin
密码 admin123
密码MD5 0192023a7bbd73250516f069df18b500
角色 admin
状态 1 (激活)

⚠️ 注意事项

  1. 首次部署后立即修改默认密码
  2. 使用强密码(至少8位,包含大小写字母、数字、特殊字符)
  3. 定期更换密码(建议每3-6个月)
  4. 限制管理员数量(只创建必要的管理员)
  5. 生产环境删除或保护创建接口

📚 详细文档

查看完整指南:book/创建管理员账号完整指南.md


快速参考版本: 2024年