#table#sml#identity#access-grant#main-db
sml_database_list_user_and_group — สิทธิ์เข้าบริษัท
ตารางกำหนดว่า "ผู้ใช้/กลุ่มไหน เข้าบริษัทไหนได้" (Access Grant) อยู่ใน Main Database ตารางเดิม (legacy)
คอลัมน์ (identity_schema.sql:47-57)
| คอลัมน์ | ชนิด | ความหมาย |
|---|---|---|
data_group |
varchar(50) | กลุ่มฐานข้อมูล ↔ sml_database_list.data_group |
data_code |
varchar(50) | รหัสบริษัท ↔ sml_database_list.data_code |
user_or_group_code |
varchar(50) | รหัสผู้ใช้ (หรือกลุ่ม) ที่ได้รับสิทธิ์ |
user_or_group_status |
smallint | 0 = ใช้งานได้ (active) — ตรงข้ามกับ sml_user_list.active_status ที่ 1 = ใช้งาน; NULL ถูกมองเป็น 1 (ไม่ใช้งาน) เพราะโค้ดใช้ COALESCE(status,1) = 0 |
roworder, ignore_sync, is_lock_record, create_date_time_now |
— | ฝั่งโปรแกรมเดิม |
PK = (data_group, data_code, user_or_group_code)
กฎที่ต้องจำ
AccessibleCompanies(postgres_repository.go:140-146) กรองUPPER(data_group),UPPER(user_or_group_code)และstatus = 0— อ่านเฉพาะสิทธิ์ที่ให้ตรงตัวผู้ใช้ ไม่คลี่สิทธิ์ผ่านสมาชิกกลุ่ม (ตามคอมเมนต์ในโค้ดและ CONTEXT.md)- แอดมินให้/ถอนสิทธิ์: admin/handler.go:438-588
- เขียนผ่านเกตเวย์ได้เฉพาะ
userLevel >= 9(query.go:63, 362)
ความสัมพันธ์
sml_user_list — ผู้ใช้ล็อกอิน (Main Database ของ Tenant) (user_code) · sml_database_list — ทะเบียนบริษัท (Company registry) (data_group+data_code)
ลิงก์
กลุ่มตาราง sml_* — ตัวตน สิทธิ์ และตารางระบบ · การตรวจสิทธิ์เมนูของ route process (Process route rights)