后台系统
设计一个宿舍后台管理系统,具体要求如下:
确定实体关系,RBAC,数据库表的设计。
- 用户:只有后台用户可以登录。
- 角色:学生用户,后台用户(后台用户又可以分为两类:高级管理员SuperAdmin,普通宿舍管理员Admin)
- 权限:
- 学生用户在后台这边没有任何权限
- 高级管理员有图中1,2权限+6,7,8,9权限
- 普通宿舍管理员有图中3,4,5权限+6,7,8,9权限。
数据库表设计
- Admin表(adminName字符串保证不能重复,adminPassword字符串,adminAuthority字符串保存用户可以执行的权限操作(逗号分隔))
- Student表(studentName字符串保证不重复,studentPassword字符串,studentRoom字符串(外键))
- Room表(roomId字符串宿舍号保证不能重复,roomFloor字符串表示这一间宿舍属于哪个楼,roomBedTotalNum整数类型表示床位总数,roomBedNowNum整数剩余的床位数量)
概要设计
- 技术选型-------------->>>>>>>>thinkphp5+xadmin1.1+宝塔lamp(极速安装)+腾讯云centos7.4,vscode连到远程服务器直接写了……就是为了快……网站域名www.zxmcoder.cn。
- 第一部分是权限验证:这部分工作写一个公有类common,所有的自己写的控制器都继承这个common类,这个类主要完成权限控制的工作(也就是不同的用户显示不同的后台,对每一个访问都要判断是否有权限,session会话保存用户名,超过session时间就要重新登录……)
- 其它的就是一些增删改查的功能……
详细设计
- MVC的结构都在/www/wwwroot/www.zxmcoder.cn/application/admin这些下面。
- admin/model里面在这个后台不写东西。
- admin/controller里面——
- Room.php(1,6)
- User.php(2,3,4,5)
- Main.php(7,8)
- Common.php(权限控制,对每一个请求进行检查)
- Login.php(完成9号功能,不需要免登录+查表,失败->返回登陆界面,成功->跳转到main处理)
- admin/view增加四个前端的文件夹(common不需要)
- 配置database.php文件。
- 前端样式放到pubic/static中。
具体的接口设计
接口名称 | 所属角色 | 详细描述 | Y/N |
---|---|---|---|
admin/room/showroom | !Student | 显示:宿舍号/所属楼/床位剩余情况/总床位数量 | Y |
admin/room/addroom | SuperAdmin | 增加一个宿舍(即使是新盖了一栋楼,也要以宿舍为单位添加) | |
admin/room/delroom | SuperAdmin | 删除一个宿舍(同样操作的单位是宿舍而不是床位) | |
admin/room/updateroom | SuperAdmin | 更改一个宿舍的信息(宿舍号不可以修改……所在楼不可以修改……修改总床位的数量) | |
admin/user/showuser | SuperAdmin | 显示普通宿舍管理员+学生用户 | |
admin/user/deluser | SuperAdmin | 删除某个学生或者是宿管 | |
admin/user/adduser | SuperAdmin | 增加学生or宿管 | |
admin/user/setstudentroom | Admin | 宿管给学生分配宿舍 | |
admin/user/updatestudentroom | Admin | 宿管给学生更改宿舍 | |
admin/user/delstudentroom | Admin | 宿管强制给学生退宿 | |
admin/main/dopassword | !Student | 修改密码 | Y |
admin/main/logout | !Student | 用户退出 | Y |
admin/main/index | !Student | 跳转到主界面 | Y |
admin/login/dologin | !Student | 处理登录的逻辑 | Y |
admin/login/index | !Student | 后台登录界面 | Y |
开发过程中遇到的问题
- 参考github上的tp5代码,dosubmit……
- 为什么大写字母不行,数据库表和字段为什么不可以用大写字母???