# 执行SQL脚本
mysql -u root -p books_db < book/src/main/resources/db/create_admin_account.sql
默认账号:
adminadmin123@SpringBootTest
public class MyTest {
@Autowired
private AdminAccountUtil adminAccountUtil;
@Test
public void createAdmin() {
// 创建默认管理员
adminAccountUtil.createDefaultAdmin();
// 或创建自定义管理员
adminAccountUtil.createAdmin("myadmin", "mypassword123", "我的管理员");
}
}
@RestController
public class AdminController {
@Autowired
private AdminAccountUtil adminAccountUtil;
@PostMapping("/init")
public String init() {
return adminAccountUtil.createDefaultAdmin();
}
}
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';
SELECT MD5('your_password');
String encrypted = PasswordUtil.encrypt("your_password");
System.out.println(encrypted);
SELECT * FROM users WHERE username = 'admin' AND role = 'admin';
curl -X POST http://localhost:8081/api/admin/login \
-H "Content-Type: application/json" \
-d '{"username":"admin","password":"admin123"}'
访问:http://localhost:8081/pages/login.html
使用账号密码登录
| 项目 | 值 |
|---|---|
| 用户名 | admin |
| 密码 | admin123 |
| 密码MD5 | 0192023a7bbd73250516f069df18b500 |
| 角色 | admin |
| 状态 | 1 (激活) |
查看完整指南:book/创建管理员账号完整指南.md
快速参考版本: 2024年