一个基于 Node.js + Express + MySQL 的课程演示项目,重点展示人员账号安全管理,而不是完整的人事业务流程。
- 注册 / 登录
- JWT 鉴权
- RBAC 角色权限控制
- MFA(TOTP) 多因素认证
- 审计日志
- 离职冻结
admin1 / 123456employee01 / 123456auditor01 / 123456
服务启动时会自动修复演示账号状态、角色和默认密码,适合重复演示。
npm start
npm run dev
npm run reset-demonpm run reset-demo 可在演示前重置默认账号、角色和 MFA 状态。
/系统总览/users.html用户与权限/security.html安全认证/audit.html审计日志
POST /api/auth/registerPOST /api/auth/loginPOST /api/auth/mfa/setupPOST /api/auth/mfa/verifyGET /api/auth/meGET /api/users/meGET /api/usersPUT /api/users/:id/rolesPOST /api/users/:id/leaveGET /api/audit/logs
src/
app.js
server.js
init/
bootstrap.js
config/
db.js
jwt.js
controller/
authController.js
userController.js
auditController.js
mfaController.js
dao/
userDao.js
rbacDao.js
auditDao.js
middleware/
auth.js
permission.js
routes/
authRoutes.js
userRoutes.js
auditRoutes.js
service/
authService.js
utils/
response.js
scripts/
reset-demo.js
sql/
schema.sql
public/
index.html
users.html
security.html
audit.html