Files
novalon-website/docs/ADMIN-CREDENTIALS.md
T
张翔 46e851bc3a fix: add error handling for admin login page and document admin credentials
- 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
2026-03-13 12:31:14 +08:00

2.8 KiB

管理员账号信息

默认管理员凭据

登录信息

  • 邮箱: admin@novalon.cn
  • 密码: admin123456
  • 登录地址: http://localhost:3000/admin/login

权限说明

  • 管理员账号拥有完整的后台管理权限
  • 可以管理内容、用户、配置和日志
  • 可以修改其他用户信息(包括密码)

修改管理员密码

方法1:通过后台管理界面

  1. 使用管理员账号登录后台
  2. 进入"用户管理"页面
  3. 找到管理员账号
  4. 点击"编辑"按钮
  5. 输入新密码并保存

方法2:通过API

# 使用管理员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脚本

npm run db:seed

创建新管理员账号

通过API创建

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