Bỏ qua

User Story: Chọn vai trò hoạt động khi có nhiều vai trò

1. Description

Là người dùng có nhiều vai trò được gán (ví dụ: vừa Manager vừa Approver), tôi muốn chọn vai trò hoạt động sau khi đăng nhập và chuyển đổi vai trò trong quá trình sử dụng, để hệ thống hiển thị menu và quyền truy cập phù hợp với vai trò tôi đang thực hiện.

2. Acceptance Criteria

2.1 Happy Path

AC-001: Hiển thị màn hình chọn vai trò khi có nhiều vai trò

  • GIVEN người dùng đăng nhập thành công và tài khoản được gán nhiều vai trò (ví dụ: Manager và Approver)
  • WHEN hệ thống hoàn tất xác thực và xác định người dùng có nhiều hơn một vai trò
  • THEN hệ thống hiển thị màn hình chọn vai trò (SCR-AUTH-10) với danh sách các vai trò đã được gán

AC-002: Chọn vai trò và truy cập hệ thống

  • GIVEN người dùng đang ở màn hình chọn vai trò (SCR-AUTH-10)
  • WHEN người dùng chọn một vai trò từ danh sách
  • THEN hệ thống thiết lập vai trò đang hoạt động, hiển thị menu và quyền truy cập tương ứng với vai trò đã chọn, và chuyển hướng đến Dashboard (SCR-DASH-10)

AC-003: Chuyển đổi vai trò qua sidebar

  • GIVEN người dùng đang sử dụng hệ thống với một vai trò hoạt động và có nhiều vai trò được gán
  • WHEN người dùng chọn vai trò khác qua role switcher trên sidebar
  • THEN hệ thống chuyển đổi vai trò hoạt động, cập nhật menu và quyền truy cập theo vai trò mới mà không cần đăng xuất

AC-004: Cập nhật header theo vai trò hoạt động

  • GIVEN người dùng chuyển đổi vai trò hoạt động
  • WHEN vai trò mới được thiết lập
  • THEN header hiển thị đơn vị công tác hiện tại tương ứng với vai trò đang hoạt động

2.2 Alternative Paths

AC-005: Người dùng chỉ có một vai trò

  • GIVEN người dùng đăng nhập thành công và tài khoản chỉ được gán duy nhất một vai trò
  • WHEN hệ thống hoàn tất xác thực
  • THEN hệ thống bỏ qua màn hình chọn vai trò, tự động thiết lập vai trò duy nhất và chuyển hướng thẳng đến Dashboard (SCR-DASH-10)

AC-006: Chuyển vai trò khi đang ở trang chi tiết

  • GIVEN người dùng đang xem một trang chi tiết thuộc module chỉ dành cho vai trò hiện tại
  • WHEN người dùng chuyển sang vai trò khác qua sidebar
  • THEN hệ thống chuyển đổi vai trò và chuyển hướng người dùng về Dashboard (SCR-DASH-10) nếu trang hiện tại không thuộc phạm vi vai trò mới

2.3 Error Cases

AC-007: Người dùng chưa được phân quyền

  • GIVEN người dùng đăng nhập thành công nhưng tài khoản có trạng thái "chưa phân quyền" (không có vai trò nào)
  • WHEN hệ thống kiểm tra danh sách vai trò
  • THEN hệ thống hiển thị thông báo "Chưa được phân quyền - vui lòng liên hệ Admin để được gán vai trò" và không cho phép truy cập các chức năng nghiệp vụ

3. Business Rules

  • Nếu người dùng có nhiều vai trò, sau đăng nhập hệ thống hiển thị màn hình chọn vai trò (SCR-AUTH-10). Menu và quyền thay đổi theo vai trò đang hoạt động
  • Người dùng có thể chuyển đổi vai trò (switch role) qua sidebar mà không cần đăng xuất
  • Một user có thể giữ nhiều vai trò đồng thời (ví dụ: vừa Manager vừa Approver) - không áp dụng SoD cứng
  • Hệ thống ghi nhận audit log đầy đủ để truy vết khi user có nhiều vai trò
  • Menu hiển thị theo vai trò hoạt động:
  • Manager: Tổng quan, Dữ liệu định vị, Khám phá DL, Bản đồ hiện trạng, Dữ liệu tương lai, Báo cáo
  • Data Owner: Tổng quan, Bản đồ hiện trạng (+ alert xác nhận), Tra cứu Từ điển
  • Approver: Tổng quan, Bản đồ hiện trạng (xem), Quy hoạch dữ liệu, Báo cáo
  • Staff: Tổng quan, Tra cứu Từ điển
  • Admin: Quản trị hệ thống

4. Traceability

Feature: EP-01-001: Đăng nhập SSO & User Provisioning

Related Use Cases:

Screens:

Business Flows:

  • Không áp dụng

Business Entities:

Role Matrix:

Third-Party Integrations:

  • Không áp dụng

5. Out of Scope

  • Quản lý danh sách vai trò của hệ thống (cố định 5 vai trò)
  • Gán vai trò cho người dùng (thuộc Feature EP-01-003, UC-SYS-002)
  • Tạo vai trò mới hoặc tùy chỉnh quyền của vai trò
  • Phân quyền chi tiết theo chức năng trong mỗi vai trò (thuộc Feature EP-01-003)