diff --git a/backend/server.js b/backend/server.js index 4527c11..d35ef00 100644 --- a/backend/server.js +++ b/backend/server.js @@ -52,65 +52,72 @@ app.use(session({ } })); -// 静态文件服务 -app.use(express.static(path.join(__dirname, '../frontend'))); +// 静态文件服务 - 只公开 public 目录 +app.use('/public', express.static(path.join(__dirname, '../frontend/public'))); -// 重定向旧路径 /frontend/html/* 到 /html/* -app.get('/frontend/html/*', (req, res) => { - const path = req.params[0]; - res.redirect(`/html/${path}`); +// 页面认证中间件 +const requirePageAuth = (req, res, next) => { + if (!req.session.user) { + return res.redirect('/login'); + } + next(); +}; + +const requirePageRole = (allowedRoles) => { + return (req, res, next) => { + if (!req.session.user) return res.redirect('/login'); + if (!allowedRoles.includes(req.session.user.role)) { + return res.status(403).send('
${profile.major || '未设置'}
${profile.major || '未设?}
${profile.enrollment_year || '未设置'}
${profile.enrollment_year || '未设?}
- 管理所有用户账户,包括添加、编辑、删除用户,设置用户角色和权限。 -
- 管理学生信息,包括学籍管理、班级分配、信息维护和批量导入导出。 -
- 管理教师信息,包括教师分配、课程安排、权限设置和绩效考核。 -
- 查看全校成绩统计,生成分析报告,支持图表展示和数据导出。 -