iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 2
0

https://ithelp.ithome.com.tw/upload/images/20200915/20118686PdLUhbFi6d.jpg

在一個專案啟動前,都會先有一個專案規劃書或規格書
通常第一版會漏很多資訊,或是不合理的條件,然後慢慢的去修定版本
內容基本上會包含:

  • 概述
  • 專案簡介
  • 目標
  • 系統規劃
    • 架構
    • 流程
  • 專案時程評估

有專案規劃之後,開發時就會有個依循,不會茫茫的做,做了什麼也不知道

今天內容將用上述列點陳述此專案的規劃


#專案簡介

此專案分為 用戶端伺服端

#用戶端

  1. 專案: 單一登入入口介面
  2. 類型: web

#伺服端

  1. 專案:登入口帳號及權限驗證
  2. 類型:web API

因為是簡介,大致知道此專案是分為 [用戶端] 及 [伺服端] 兩個部分來進行就可以了~


#目標

  • 整合所有系統之登入入口
  • 加密敏感資料實現資安管理
  • 減少使用者輸入帳密動作
  • 增加使用者管理

這些是當初設計專案時,預設要達成的目標
除了基本目標 整合登入入口 之外,另外還想達到 實現資安管理
因為公司內許多舊系統的密碼都是直接大剌剌的被看光,雖然方便管理,但不怕一萬只怕萬一,若被有心人事拿來作惡就麻煩了
於是簡單做個加密,至少多一層防護

使用者管理 就是所謂的個人化管理介面,包含密碼變更、換大頭照等等的,但這個部分算是額外的,不包含在SSO內,後來就沒做了有點可惜


#系統架構

分兩個部分做簡單的架構介紹

#伺服端

  1. 執行環境:Node.js
  2. 框架:Express
  3. 資料庫:MongoDB

#用戶端

  1. 框架:VueVue Cli
  2. 套件:Vuetify

#系統流程

放上之前做的流程圖及說明
https://ithelp.ithome.com.tw/upload/images/20200814/201186863bvr9oYKvK.jpg

登入時的情境為:

  1. 當使用者要進入 [系統A] 時,[系統A] 呼叫 [API] 驗證登入狀態,[API] 回傳:
    A. 已登入有權限
    B. 已登入無權限
    C. 未登入
    D. Token過期
  2. 假設是 C.未登入D.Token過期 的情況,就要前往 [登入口] 輸入帳密
  3. [登入口] 呼叫 [API] 進行帳密驗證,[API] 回傳:
    A. 任何錯誤: 包含帳號錯誤密碼錯誤等等
    B. 驗證成功: Token 並儲存在cookie中(重點!!!)
  4. 假設是 B.驗證成功 的情況,導頁回 [系統A]
  5. [系統A] 回到第一步再次驗證登入狀態

如果有 [系統B] 或 [系統C],都是依照這個流程來跑


以上就是這個專案的初版的專案規劃,有些不重要的例如 概述 就不提了/images/emoticon/emoticon07.gif
(概述覺得被邊緣...)

之後文章會以F2E及B2E兩部分進行開發~
加油衝一波~/images/emoticon/emoticon69.gif


上一篇
Day 01. 前言
下一篇
Day 03. F2E-建立專案
系列文
30天Vue出Google SSO30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言