快乐就队——项目系统设计与数据库设计
这个作业属于哪个课程 | 2020年春|W班 |
---|---|
这个作业要求在哪里 | 团队作业第四次—项目系统设计与数据库设计 |
团队名称 | 快乐就队 |
这个作业的目标 | 团队项目的系统设计与数据库设计 |
作业正文 | 快乐就队——项目系统设计与数据库设计 |
其他参考文献 | 《构建之法》 |
一、团队项目开发计划与里程碑
因为在上次作业中制定的开发计划与里程碑已经比较详细,且开发进度正按计划有序推进,故继续执行之前制定的计划不变。
二、团队项目具体分工安排
三、设计图与设计思路
1.功能模块图
2.类图
3.用例图
4.ER图
5.数据库拓扑图
四、系统安全和权限设计
1.用户登录认证
用户在登录系统时,系统将用户密码进行MD5算法计算散列值,然后再与数据库中经过MD5加密的密文进行比较,如果结果一致且用户登录账户匹配,则认证成功。
2.跨站点请求伪造(CSRF)
为防止跨站点请求伪造攻击,使用了Spring Security内置的CSRF防护,通过配合前端来抵御CSRF。对于每个HTTP请求除了会话cookie外,还必须在HTTP请求中包含一个安全的,随机生成的值,称为CSRF令牌。后端对于每个HTTP请求的响应体包含设置CSRF令牌的Cookie。前端提交HTTP请求时,后端查找预期的CSRF令牌,并将其与HTTP请求中的实际CSRF令牌进行比较。如果值不匹配,则应拒绝HTTP请求。同时在cookie中提供CSRF令牌不起作用,因为浏览器会自动将cookie包含在HTTP请求中。因此前端再发送HTTP请求时,应在请求头设置CSRF令牌,且CSRF令牌应该是最新的。
3.权限控制
系统采用基于角色的权限验证。一个用户可以有多种角色,角色可以分属不同的用户;一个角色有多种权限,权限可以分属不同的角色。权限是对于特定资源访问的控制,资源对于系统后端来说,体现在对于不同URL地址访问权限。因为系统只有登录用户和非登录用户,因此对于登录用户可以访问和使用所有系统提供的功能权限,而非登录用户只有访问登录和注册的权限。因此没有具体的角色划分,但是系统具备基于角色的权限验证能力,为将来提供权限控制的基础。
五、上次作业的Q&A及改进
1.Q&A
2.改进
- 上次作业缺少了用例图,在本次作业博客中补上了。
- 根据老师的建议,经团队讨论分析,将订阅者、发布者类与用户类的关系由继承关系改为组合关系。
六、本次作业分工及贡献度
学号 | 姓名 | 分工安排 | 贡献度 |
---|---|---|---|
221701223 | 叶博宁 | 团队博客,答辩PPT部分,系统设计&数据库设计说明书部分 | 13 |
221701102 | 郑澜 | 答辩PPT主体,评审表,系统设计说明书部分 | 12 |
221701232 | 岳逾先 | 系统设计说明书部分,前端模块搭建 | 12 |
221701234 | 张必润 | 系统设计说明书部分 | 11 |
221701339 | 沈志峰 | 系统设计&数据库设计说明书主体,答辩发言人,后端初步编码 | 18 |
221701220 | 赵伟男 | 系统设计&数据库设计说明书部分,UML图,ER图 | 16 |
221701233 | 张一凡 | 系统设计&数据库设计说明书部分,UML图,后端初步编码 | 16 |
221701327 | 王清斌 | 项目文档整理上传 | 2 |
七、GitHub仓库及文档链接
团队GitHub仓库
本次作业相关文档下载
链接: https://pan.baidu.com/s/1F2e1jSm20Q6iagr9lLKWTQ 密码: swbu