2.8 KiB
2.8 KiB
用户角色访问控制指南
用户名格式规则
- 管理员:
a_<姓名>(例如:a_admin,a_zhangsan) - 老师:
t_<姓名>(例如:t_teacher,t_lisi) - 学生:
s_<姓名>(例如:s_student,s_wangwu)
权限说明
管理员权限
- 可以访问所有API端点
- 可以创建老师用户
- 可以创建学生用户
- 可以创建管理员用户
老师权限
- 可以访问老师端API (
/teacherAction/**) - 可以访问学生端API (
/studentAction/**) - 可以创建学生用户
- 不能创建老师或管理员用户
学生权限
- 只能访问学生端API (
/studentAction/**) - 不能创建任何用户
API端点
用户管理API (/userManagementAction/**)
创建老师用户
POST /userManagementAction/createTeacher
参数: username, password
权限: 仅管理员
创建学生用户
POST /userManagementAction/createStudent
参数: username, password
权限: 管理员和老师
创建管理员用户
POST /userManagementAction/createAdmin
参数: username, password
权限: 仅管理员
课程管理API示例 (/courseAction/**)
选课API (学生端)
POST /courseAction/selectCourse
参数: courseId
权限: 学生
状态: 待实现
创建课程API (老师端)
POST /courseAction/createCourse
参数: courseName, courseDescription
权限: 老师
状态: 待实现
获取课程列表
GET /courseAction/getCourses
参数: page, pageSize
权限: 所有用户
状态: 待实现
使用示例
1. 管理员登录
# 假设已存在管理员用户 a_admin
POST /userAction/login
{
"username": "a_admin",
"password": "password"
}
2. 管理员创建老师用户
POST /userManagementAction/createTeacher
Headers: token: <登录返回的JWT>
{
"username": "t_zhangsan",
"password": "password123"
}
3. 老师创建学生用户
POST /userManagementAction/createStudent
Headers: token: <老师登录返回的JWT>
{
"username": "s_lisi",
"password": "password123"
}
注意事项
- 所有API调用都需要在请求头中包含有效的JWT token
- 用户名必须严格按照格式要求,否则会被拒绝
- 拦截器会自动验证用户角色权限
- 课程相关API目前只是空实现,需要创建相应的数据库表后才能完成功能
数据库表需求
为了完整实现课程功能,需要创建以下表:
-
课程表 (courses)
- id, course_name, course_description, teacher_id, create_time, etc.
-
选课表 (student_courses)
- id, student_id, course_id, select_time, etc.
-
课程老师映射表 (如果需要多对多关系)
- id, course_id, teacher_id, etc.
这些表创建后,就可以完成课程管理API的具体实现了。