這個作業屬於哪個課程 | 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