46e851bc3a
- Add URL error parameter handling in login page - Display appropriate error messages for different error types - Document default admin credentials - Provide security guidelines and password management instructions
111 lines
2.8 KiB
Markdown
111 lines
2.8 KiB
Markdown
# 管理员账号信息
|
|
|
|
## 默认管理员凭据
|
|
|
|
### 登录信息
|
|
- **邮箱**: `admin@novalon.cn`
|
|
- **密码**: `admin123456`
|
|
- **登录地址**: `http://localhost:3000/admin/login`
|
|
|
|
### 权限说明
|
|
- 管理员账号拥有完整的后台管理权限
|
|
- 可以管理内容、用户、配置和日志
|
|
- 可以修改其他用户信息(包括密码)
|
|
|
|
## 修改管理员密码
|
|
|
|
### 方法1:通过后台管理界面
|
|
1. 使用管理员账号登录后台
|
|
2. 进入"用户管理"页面
|
|
3. 找到管理员账号
|
|
4. 点击"编辑"按钮
|
|
5. 输入新密码并保存
|
|
|
|
### 方法2:通过API
|
|
```bash
|
|
# 使用管理员token修改密码
|
|
curl -X PUT http://localhost:3000/api/admin/users/[user-id] \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
-d '{
|
|
"password": "new_password_here"
|
|
}'
|
|
```
|
|
|
|
### 方法3:重新运行seed脚本
|
|
```bash
|
|
npm run db:seed
|
|
```
|
|
|
|
## 创建新管理员账号
|
|
|
|
### 通过API创建
|
|
```bash
|
|
curl -X POST http://localhost:3000/api/admin/users \
|
|
-H "Content-Type: application/json" \
|
|
-H "Authorization: Bearer YOUR_TOKEN" \
|
|
-d '{
|
|
"email": "new_admin@example.com",
|
|
"password": "secure_password",
|
|
"name": "新管理员",
|
|
"isAdmin": true
|
|
}'
|
|
```
|
|
|
|
## 安全建议
|
|
|
|
### ⚠️ 重要提示
|
|
1. **立即修改默认密码** - 生产环境必须修改默认密码
|
|
2. **使用强密码** - 至少12位,包含大小写字母、数字和特殊字符
|
|
3. **定期更换密码** - 建议每3个月更换一次
|
|
4. **启用双因素认证** - 如果支持的话
|
|
5. **限制登录尝试** - 防止暴力破解
|
|
|
|
### 密码安全策略
|
|
- 最小长度:8个字符
|
|
- 必须包含:大小写字母、数字
|
|
- 建议包含:特殊字符
|
|
- 禁止使用:常见密码、个人信息
|
|
|
|
## 常见问题
|
|
|
|
### Q: 忘记管理员密码怎么办?
|
|
A: 重新运行seed脚本会重置为默认密码,但这会删除所有现有用户数据。
|
|
|
|
### Q: 如何创建多个管理员账号?
|
|
A: 通过后台管理界面或API创建新用户,并将 `isAdmin` 设置为 `true`。
|
|
|
|
### Q: 登录时提示"认证配置错误"?
|
|
A: 检查NextAuth配置,确保环境变量正确设置。
|
|
|
|
### Q: 如何禁用某个管理员账号?
|
|
A: 通过API或数据库将该用户的 `isAdmin` 设置为 `false`。
|
|
|
|
## 相关文件
|
|
|
|
- **Seed脚本**: `src/db/seed.ts`
|
|
- **用户Schema**: `src/db/schema.ts`
|
|
- **认证配置**: `src/lib/auth.ts`
|
|
- **登录页面**: `src/app/admin/login/page.tsx`
|
|
|
|
## 技术细节
|
|
|
|
### 密码加密
|
|
- 使用 `bcryptjs` 进行密码哈希
|
|
- 盐值轮数:10
|
|
- 算法:bcrypt
|
|
|
|
### 会话管理
|
|
- 使用NextAuth.js进行会话管理
|
|
- 会话存储:数据库
|
|
- 会话有效期:可配置
|
|
|
|
### 权限检查
|
|
- 基于 `isAdmin` 字段
|
|
- 通过 `checkIsAdmin()` 函数验证
|
|
- 支持细粒度权限控制
|
|
|
|
---
|
|
|
|
**最后更新**: 2026-03-13
|
|
**版本**: 1.0.0 |