年代集團 IT 資訊需求單系統,從 ASP.NET Web Forms 全面重構為 Django 5.1 + React 前後端分離架構。

為什麼存在

舊系統長年累積技術債(Web Forms、PyService 排程、UI 截斷顯示),維護成本高、安全性不足、擴充困難。本次重生計畫做完整功能復刻 + 架構升級。

技術選型

技術
後端 Python 3.12 + Django 5.1
前端 React + TypeScript(SPA)
認證 django-auth-ldap 5.2.0 + python-ldap 3.4.5(接 AD)
DB MSSQL(沿用,透過 mssql-django 驅動)
WSGI Waitress(Windows 10 原生部署)

三大支柱

  1. 架構五層式架構(API / Schema / Service / Repository / Model)
  2. 流程需求單生命週期 + LDAP 認證流程
  3. 資料單號流水號規則 + 歷史異動日誌

部署架構(Windows 10)

安全性設計

  1. 前端:所有 Token 改放 HttpOnly Cookie(防 XSS);React 預設編碼
  2. 後端schema 層做字串長度/類型檢驗;SECRET_KEY、MSSQL 密碼、LDAP 金鑰抽到 .env
  3. 權限:刪除/編輯 API 必須在 service 層重新驗證 request.user 角色(防越權)

從舊系統承襲的調校

設計時一次解掉舊系統累積的問題: