跳轉到

用戶權限管理

📋 功能概述

私有雲端平台提供完整的用戶權限管理系統,讓教師可以精確控制學生對設備的存取權限,確保實驗環境的安全和有序。

👥 用戶類型說明

🔑 管理員 (admin)

適用對象:教師、系統管理員、實驗室負責人

權限範圍

  • ✅ 管理所有用戶帳戶(新增、編輯、刪除)
  • ✅ 存取所有設備,無任何限制
  • ✅ 編輯所有設備的名稱和設定
  • ✅ 管理快捷指令庫
  • ✅ 重啟設備
  • ✅ 修改設備設定
  • ✅ 查看所有操作記錄

使用情境

情境:網路實驗課程
老師登入後可以看到教室內所有 20 台交換機的狀態,
可以同時監控學生的操作進度,必要時可以接管任何設備進行示範。

👨‍🎓 一般用戶 (user)

適用對象:學生、一般使用者

權限範圍

  • ✅ 存取被授權的設備
  • ✅ 編輯被授權設備的設定
  • ✅ 使用快捷指令功能
  • ✅ 使用 ChatGPT 助手
  • ❌ 無法管理其他用戶
  • ❌ 無法存取未授權的設備

使用情境

情境:學生實驗作業
學生 A 被分配到 Switch-01 和 Switch-02,
只能看到和操作這兩台設備,無法干擾其他同學的實驗。

🤖 ESP 設備 (esp)

適用對象:ESP32 Console Server 設備

權限範圍

  • ✅ 自動註冊到平台
  • ✅ 回報設備狀態
  • ✅ 接收控制指令
  • ❌ 無法存取 Web 介面

🔌 API 用戶 (api)

適用對象:自動化腳本、第三方系統

權限範圍

  • ✅ 透過 API 存取被授權的設備
  • ✅ 程式化控制設備
  • ❌ 無法存取 Web 介面

🎯 設備存取控制

設定方式

管理員可以為每個用戶設定「設備限制」:

格式:MAC 地址列表,用逗號分隔

範例:aa:bb:cc:dd:ee:01,aa:bb:cc:dd:ee:02,aa:bb:cc:dd:ee:03

實際應用

學生 A:aa:bb:cc:dd:ee:01,aa:bb:cc:dd:ee:02  (可存取 Switch-01, Switch-02)
學生 B:aa:bb:cc:dd:ee:03,aa:bb:cc:dd:ee:04  (可存取 Switch-03, Switch-04)
學生 C:留空                                (可存取所有設備 - 不建議)

權限檢查機制

系統會在以下時機檢查權限:

  • 🔍 登入時:檢查用戶類型和設備授權
  • 🔍 操作時:每次設備操作都會驗證權限
  • 🔍 連線時:WebSocket 連線建立時驗證
  • 🔍 API 呼叫時:所有 API 請求都需要認證

🛠️ 管理操作指南

新增用戶

  1. 以管理員身份登入平台
  2. 點擊左上角的「用戶管理」按鈕
  3. 點擊「新增用戶」
  4. 填寫用戶資訊:
  5. 用戶名:英文和數字組合(如:student01)
  6. 密碼:建議使用強密碼
  7. 帳戶類型:選擇適當的用戶類型
  8. 設備限制:輸入允許存取的設備 MAC 地址

編輯用戶權限

  1. 在用戶列表中找到要編輯的用戶
  2. 點擊「編輯」按鈕
  3. 修改設備限制或其他設定
  4. 點擊「儲存」確認變更

刪除用戶

  1. 在用戶列表中找到要刪除的用戶
  2. 點擊「刪除」按鈕
  3. 確認刪除操作

🎓 教學應用範例

範例一:網路基礎課程

班級規模:30 人,15 組,每組 2 人 設備配置:15 台交換機

用戶設定

teacher01 (管理員) → 可存取所有設備
group01_a (用戶) → 只能存取 switch-01
group01_b (用戶) → 只能存取 switch-01
group02_a (用戶) → 只能存取 switch-02
group02_b (用戶) → 只能存取 switch-02
...以此類推

教學流程: 1. 老師示範:使用管理員帳戶操作任一台設備 2. 學生實作:各組只能操作被分配的設備 3. 作業檢查:老師可以檢視所有設備的配置結果

範例二:進階路由課程

班級規模:20 人,10 組,每組 2 人 設備配置:10 台路由器 + 10 台交換機

用戶設定

instructor (管理員) → 可存取所有設備
team01_leader (用戶) → 可存取 router-01, switch-01
team01_member (用戶) → 可存取 router-01, switch-01
team02_leader (用戶) → 可存取 router-02, switch-02
...以此類推

實驗設計: - 每組需要配置路由器和交換機的互連 - 組長負責路由器配置,組員負責交換機配置 - 兩人都能看到對方的操作,便於協作學習

🔒 安全性特色

密碼安全

  • 加密儲存:所有密碼使用 bcrypt 哈希加密
  • 強密碼政策:建議使用包含大小寫字母、數字的密碼
  • 定期更換:建議定期更換密碼

連線安全

  • HTTPS 加密:所有 Web 通訊都經過 TLS 加密
  • 認證超時:WebSocket 連線 10 秒內必須完成認證
  • 自動登出:提供安全的登出機制

操作記錄

  • 完整日誌:記錄所有用戶操作
  • 權限檢查:每次操作都驗證用戶權限
  • 異常偵測:自動偵測異常存取行為

💡 最佳實務建議

🎯 用戶命名規則

建議格式:
- 學生:student01, student02, group01_a, group01_b
- 教師:teacher01, instructor, admin
- 特殊用途:demo_user, guest_user

🔑 密碼管理

  • 初始密碼可以使用簡單規則(如:學號後四碼)
  • 要求用戶首次登入後修改密碼
  • 定期(每學期)重設密碼

📱 設備分配策略

  • 固定分配:每個學生固定使用特定設備
  • 輪流使用:定期輪換設備使用權
  • 分組共用:同組學生共用設備

🎓 課程管理

  • 每個課程創建專用用戶群組
  • 課程結束後及時清理用戶帳戶
  • 保留教學用的示範帳戶

💡 小提示:建議在學期開始前先建立所有用戶帳戶,並準備一份用戶名稱和密碼對照表,這樣開課時就能快速分發給學生使用!