19 เม.ย. 2565·อ่าน 1 นาที

เข้าถึงข้อมูลตามบทบาทใน AppMaster.io

ภาพรวมเกี่ยวกับวิธีที่แพลตฟอร์มไม่มีโค้ดของ AppMaster.io แก้ปัญหาการเข้าถึงข้อมูลสำหรับผู้ใช้แอปพลิเคชัน

เข้าถึงข้อมูลตามบทบาทใน AppMaster.io

ในบทความนี้ เราจะมาดูว่าแพลตฟอร์มไม่มีโค้ดของ AppMaster.io แก้ปัญหาการเข้าถึงข้อมูลสำหรับผู้ใช้แอปพลิเคชันได้อย่างไร

มันเกิดขึ้นโดยการแนะนำบทบาทต่างๆ เช่น ผู้ใช้ ผู้ดูแล ผู้ดูแลระบบ และข้อกำหนดอื่นๆ โซลูชันนี้ให้ความยืดหยุ่นมากขึ้นภายในแอปพลิเคชันที่คุณสร้างขึ้น และควบคุมการเข้าถึงข้อมูลและฟังก์ชันการทำงานภายในแอปพลิเคชันที่สร้างขึ้น

บทความนี้จะเป็นประโยชน์สำหรับทุกคนที่ต้องการเจาะลึกฟังก์ชันการทำงานของแพลตฟอร์ม AppMaster.io และดูความสามารถของแพลตฟอร์มในแง่ของการตั้งค่าสำหรับการเข้าถึงข้อมูลตามบทบาท

Module Auth โดย AppMaster.io

การลงทะเบียนในแอปพลิเคชันที่ประกอบบนแพลตฟอร์มของเรานั้นแสดงโดย โมดูล Auth ช่วยให้คุณสร้างและแก้ไขกลุ่มผู้ใช้และเข้าถึงสิทธิ์ของพวกเขาได้ โมดูล การตรวจสอบสิทธิ์ได้รับการติดตั้งล่วงหน้าในโปรเจ็กต์เมื่อสร้างขึ้น

การตั้งค่าโมดูล Auth ที่ใช้ได้:

SignUp Groups — รายชื่อกลุ่มผู้ใช้ที่สามารถลงทะเบียนได้

ลง ทะเบียน — รวมถึงความสามารถในการลงทะเบียนในแอปพลิเคชัน

หมดเวลาเซสชัน (นาที ) — เวลาหลังจากที่เซสชันของผู้ใช้ปัจจุบันจะสิ้นสุดลงหากผู้ใช้ไม่ได้ใช้งาน (เป็นนาที) ค่าเริ่มต้นคือ 60 นาที

ความล่าช้าในการเข้าสู่ระบบล้มเหลว (เป็นมิลลิวินาที) — เวลาล่าช้าสำหรับการตอบสนองของเซิร์ฟเวอร์ในกรณีที่พยายามเข้าสู่ระบบไม่สำเร็จ (เป็นมิลลิวินาที) ค่าเริ่มต้นคือ 0 ms;

ต้องมีการยืนยันอีเมล — ตัวเลือกที่เกี่ยวข้องกับการยืนยันผ่านอีเมลหากเปิดใช้งาน

Signed-Up User Active — ตั้งค่าแอ็ตทริบิวต์ แอ็คทีฟ เป็น True สำหรับผู้ใช้ที่ลงทะเบียนแต่ละราย

กลุ่ม — ให้คุณสร้างและแก้ไขกลุ่มผู้ใช้

AppMaster.io ใช้ Data Model Designer เพื่อทำงานกับโมเดล

เซสชันผู้ใช้และผู้ใช้ เป็นสองโมเดลที่สร้างขึ้นโดยอัตโนมัติใน Data Model Designer ฟิลด์โมเดลข้อมูลที่ติดตั้งล่วงหน้าไม่สามารถแก้ไขหรือลบได้ แต่สามารถเพิ่มฟิลด์ใหม่ได้

สำหรับโมเดลเหล่านี้ กลุ่มของกระบวนการทางธุรกิจ (BP) จะถูกสร้างขึ้นโดยอัตโนมัติเช่นกัน

BPs ที่สร้างขึ้นโดยอัตโนมัติที่เกี่ยวข้องกับเซสชันของผู้ใช้และผู้ใช้

  • รุ่นผู้ใช้

DB: ลบผู้ใช้ — ลบผู้ใช้วัตถุจากฐานข้อมูลผ่าน ID;

DB: Update User — รีเซ็ตฟิลด์ทั้งหมดของบล็อก User-object ที่ส่งผ่านไปยังอินพุตในฐานข้อมูลและอัพเดตตามค่าที่ระบุ (หากต้องการเปลี่ยนเฉพาะฟิลด์ที่ระบุ DB: Patch User block จะถูกใช้);

DB: Create User — เก็บไว้ในฐานข้อมูลและส่งคืนวัตถุ User ที่กำหนด (เพื่อสร้างจากฟิลด์ที่กำหนดให้ใช้บล็อก Make User);

DB: Soft Delete User — อัปเดตแอตทริบิวต์ DeletedAt บนวัตถุ User และปล่อยไว้ในฐานข้อมูล

ฐานข้อมูล: ลบผู้ใช้จำนวนมาก — รับอาร์เรย์ของ ID (รหัส) ของวัตถุผู้ใช้ที่จะถูกลบออกจากฐานข้อมูลเป็นอินพุต

fail_ids — อาร์เรย์ของ ID ผู้ใช้ที่จะไม่ถูกลบ

DB: Patch User — อัพเดตฟิลด์ที่ระบุของอ็อบเจ็กต์ User ในฐานข้อมูล (ในการรีเซ็ตฟิลด์ทั้งหมด ให้ใช้ DB: Update User block);

DB: ค้นหาผู้ใช้ — ค้นหาออบเจ็กต์ผู้ใช้ตั้งแต่หนึ่งรายการขึ้นไปในฐานข้อมูลตามฟิลด์และส่งคืน

DB: GetOne User — ค้นหาวัตถุ User ในฐานข้อมูลด้วย ID และส่งคืน

ขยายผู้ใช้ — ส่งคืนฟิลด์ทั้งหมดของออบเจ็กต์ผู้ใช้ที่เลือก

Make User — สร้าง User object ใหม่ในหน่วยความจำจากฟิลด์ที่กำหนดและส่งคืน (หากต้องการบันทึกวัตถุที่สร้างขึ้นในฐานข้อมูล ให้ใช้ DB: Create User block);

  • โมเดลเซสชันผู้ใช้

DB: ลบ User Session — ลบ User Session object ออกจากฐานข้อมูลโดย ID ที่ส่งผ่าน

DB: อัปเดตเซสชันผู้ใช้ — รีเซ็ตฟิลด์ทั้งหมดของออบเจ็กต์ User Session ที่ส่งผ่านไปยังบล็อกอินพุตในฐานข้อมูลและอัปเดตตามค่าที่ระบุ (หากต้องการเปลี่ยนเฉพาะฟิลด์ที่ระบุ ให้ใช้ DB: Patch User Session);

DB: Create User Session — เก็บไว้ในฐานข้อมูลและส่งคืนวัตถุ User Session ที่กำหนด (เพื่อสร้างจากฟิลด์ที่กำหนด ให้ใช้บล็อก Make User Session);

DB: Soft Delete User Session — อัปเดตแอตทริบิวต์ DeletedAt ของวัตถุ User Session และปล่อยไว้ในฐานข้อมูล

DB: Bulk Delete User Session — ยอมรับชุด ID ของออบเจ็กต์ User Session ที่จะถูกลบออกจากฐานข้อมูลเป็นอินพุต

fail_ids — อาร์เรย์กำหนดชุดของ ID ที่จะไม่ถูกลบ;

DB: Patch User Session — อัพเดตฟิลด์ที่ระบุของอ็อบเจ็กต์ User Session ในฐานข้อมูล (ในการรีเซ็ตฟิลด์ทั้งหมด ให้ใช้ DB: Update User Session block);

DB: ค้นหา User Session — ค้นหาออบเจ็กต์ User Session อย่างน้อยหนึ่งรายการในฐานข้อมูลตามฟิลด์และส่งคืน

DB: GetOne User Session — ค้นหาออบเจ็กต์ User Session ในฐานข้อมูลด้วย ID และส่งคืน

ขยาย User Session — ส่งคืนฟิลด์ทั้งหมดของออบเจ็กต์ User Session ที่เลือก

Make User Session — สร้าง User Session ใหม่ในหน่วยความจำจากฟิลด์ที่กำหนดและส่งคืน (หากต้องการบันทึกวัตถุที่สร้างขึ้นในฐานข้อมูล ให้ใช้ DB: Create User Session block);

  • โมดูลการตรวจสอบสิทธิ์

รับรองความถูกต้อง : สร้าง Auth Token — สร้างโทเค็นการอนุญาต (Auth Token) ตามความยาวที่กำหนด

รับรองความถูกต้อง: การลงทะเบียน — ลงทะเบียนผู้ใช้ใหม่

Auth: Authorization — ตรวจสอบว่ามี Auth Token อยู่ในระบบและส่งคืนผู้ใช้ที่เกี่ยวข้องหรือไม่

Auth: Authentification — ตรวจสอบการเข้าสู่ระบบและรหัสผ่านของผู้ใช้และส่งคืนโทเค็นการตรวจสอบสิทธิ์

Auth: ออกจากระบบ — ยอมรับ Auth Token และยุติเซสชันผู้ใช้ปัจจุบัน

รับรองความถูกต้อง: รับผู้ใช้ปัจจุบัน — ส่งคืนข้อมูลของผู้ใช้ปัจจุบัน

Auth: ลบผู้ใช้ออกจากกลุ่ม — ลบผู้ใช้ออกจากกลุ่มที่ระบุโดย ID ของเขา (กำหนดในการตั้งค่าของโมดูล Auth);

รับรองความถูกต้อง: เพิ่มผู้ใช้ในกลุ่ม — เพิ่มผู้ใช้ในกลุ่มผู้ใช้ที่ระบุด้วย ID (กำหนดในการตั้งค่าโมดูลการตรวจสอบสิทธิ์);

รับรองความถูกต้อง: รหัสผ่านแฮช — แปลงสตริงรหัสผ่านเป็นแฮช

รับรองความถูกต้อง: กู้คืนรหัสผ่าน — ยอมรับชื่อผู้ใช้และรหัสผ่านใหม่ของผู้ใช้ ดังนั้นจึงทำการรีเซ็ต

รับรองความถูกต้อง: เปลี่ยนรหัสผ่าน — แทนที่รหัสผ่านผู้ใช้ปัจจุบันด้วยรหัสผ่านใหม่

รับรองความถูกต้อง: รหัสผ่านโพรบ — การตรวจสอบรหัสผ่านและการจับคู่แฮช

ปลายทางของโมดูลการตรวจสอบสิทธิ์และโมเดลผู้ใช้และเซสชันผู้ใช้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อสร้างโปรเจ็กต์

โมดูลการตรวจสอบสิทธิ์

ประเภทคำขอปลายทางเชื่อมต่อ BP /ออกจากระบบ/ รับรองความถูกต้อง: ออกจากระบบ /รับรองความถูกต้อง/ รับรองความถูกต้อง: รับรองความถูกต้อง /ลงทะเบียน/ รับรองความถูกต้อง: การลงทะเบียน /ยืนยัน/ รับรองความถูกต้อง: การลงทะเบียน /ผู้ใช้/เปลี่ยนรหัสผ่าน รับรองความถูกต้อง: เปลี่ยนรหัสผ่าน /ผู้ใช้/กู้คืนรหัสผ่าน/ รับรองความถูกต้อง: กู้คืนรหัสผ่าน /ประวัติผู้ใช้/ รับรองความถูกต้อง: การอนุญาต

ผู้ใช้

ประเภทคำขอปลายทางเชื่อมต่อ BP /ผู้ใช้/:id/ DB: อัปเดตผู้ใช้ /ผู้ใช้/:id/ DB: ลบผู้ใช้ /ผู้ใช้/:id/ ฐานข้อมูล: ผู้ใช้ GetOne /ผู้ใช้/ DB: ค้นหาผู้ใช้ /ผู้ใช้/:id DB: ผู้ใช้แพตช์ /ผู้ใช้/ ฐานข้อมูล: สร้างผู้ใช้

เซสชันผู้ใช้

ประเภทคำขอ ปลายทาง เชื่อมต่อ BP /user-session/:id/ DB: ลบเซสชันผู้ใช้ /user-session/:id/ DB: เซสชันผู้ใช้ GetOne /ผู้ใช้-เซสชัน/ DB: ค้นหาเซสชันผู้ใช้ /user-session/:id/ DB: เซสชันผู้ใช้แพตช์ /ผู้ใช้-เซสชัน/ DB: สร้างเซสชันผู้ใช้ /user-session/:id/ DB: อัปเดตเซสชันผู้ใช้

Auth Token ถูกใช้เป็นโทเค็นของเซสชันปัจจุบันของผู้ใช้ที่ได้รับอนุญาต ในเว็บแอปพลิเคชัน BP เป็นไปได้ที่จะโต้ตอบกับโทเค็นนี้:

  1. Get Auth Token ส่งคืน Auth ของเซสชันผู้ใช้ที่รับรองความถูกต้องปัจจุบัน

  2. Set Auth Token จะเขียนทับ Auth Token ของเซสชันปัจจุบันของผู้ใช้ที่ได้รับอนุญาต

  3. Remove Auth Token ลบ Auth Token เซสชันปัจจุบันของผู้ใช้ที่ได้รับอนุญาต

ตัวอย่างแสดงวิธีการรับผู้ใช้ปัจจุบัน

ในการดำเนินการนี้ ให้ไปที่แท็บตรรกะทางธุรกิจแล้วลาก Auth: รับบล็อกผู้ใช้ปัจจุบัน

ถัดไป จุดปลายทางจะถูกสร้างขึ้นสำหรับ BP ที่สร้างขึ้น ซึ่งจะใช้เพื่อติดต่อกับเซิร์ฟเวอร์เพื่อรับวัตถุของผู้ใช้ปัจจุบัน

เลือกกลุ่มผู้ใช้ในส่วนปลายทาง และสร้างวิธีการขอ GET สำหรับกระบวนการที่สร้างขึ้นใหม่เพื่อรับผู้ใช้ปัจจุบัน

ในเว็บแอปพลิเคชัน BP ให้ส่งคำขอไปยังปลายทางที่สร้างขึ้น (คำขอเซิร์ฟเวอร์ GET /user_current) เพื่อรับผู้ใช้ปัจจุบัน

กลุ่มและการอนุญาต

กลุ่มผู้ใช้ถูกสร้างขึ้นในการตั้งค่าของโมดูลการตรวจสอบสิทธิ์ หากต้องการไปที่การตั้งค่าโมดูล คุณต้องเปิดส่วนโมดูลและคลิกที่การ์ดของโมดูลที่เกี่ยวข้อง

แท็บกลุ่มประกอบด้วยรายการกลุ่มที่มีอยู่ทั้งหมด คลิกเพิ่มองค์ประกอบใหม่เพื่อสร้างกลุ่มผู้ใช้ใหม่ ในหน้าต่างโมดอลใหม่ คุณสามารถปรับแต่งกลุ่ม เพิ่มคำอธิบาย ไอคอน ไอคอนและสีป้ายกำกับ และแท็ก

หากต้องการแก้ไขกลุ่มผู้ใช้ที่มีอยู่ คุณต้องไปที่การตั้งค่าของโมดูลการตรวจสอบสิทธิ์ด้วย ในการดำเนินการนี้ ให้ไปที่ส่วน โมดูล และคลิกที่การ์ดของโมดูลที่เกี่ยวข้อง ถัดไป ในแท็บ Groups จะมีรายชื่อกลุ่มให้เลือก หากต้องการแก้ไข คุณต้องคลิกที่ไอคอนการตั้งค่า ในหน้าต่างโมดอลใหม่ คุณสามารถปรับแต่งกลุ่ม เปลี่ยนคำอธิบาย ไอคอน ไอคอนและสีป้ายกำกับ และแท็ก

ในการเปลี่ยนสิทธิ์ของการอ่าน/เขียนรายการในฐานข้อมูลสำหรับกลุ่มผู้ใช้บางกลุ่ม จะใช้ Middleware ของโมดูล Auth

ในส่วนปลายทาง ให้เลือกปลายทางที่คุณต้องการเปลี่ยนแปลงสิทธิ์ในการอ่าน/เขียน คลิกที่ปุ่มการตั้งค่าในปลายทางที่ต้องการและไปที่แท็บมิดเดิลแวร์ในหน้าต่างโมดอลที่เปิดขึ้น ถัดไป โดยคลิกที่แก้ไขการตั้งค่าในบรรทัดเดียวกับ Token Auth Middleware ตั้งค่าสิทธิ์การเข้าถึง

การเข้าถึงหน้าในเว็บแอปพลิเคชัน: คุณต้องไปที่เว็บแอปพลิเคชันและคลิกที่ปุ่มการตั้งค่าของหน้าที่คุณต้องการจำกัดการเข้าถึง

ในฟิลด์ แสดงสำหรับกลุ่ม คุณต้องเลือกรายชื่อกลุ่มผู้ใช้ที่จะได้รับอนุญาตให้ดูหน้านี้ โดยค่าเริ่มต้น ฟิลด์จะว่างเปล่า และอนุญาตให้ผู้ใช้ทุกหมวดหมู่เข้าถึงได้

บทสรุป

ปรับใช้แอปที่ปลอดภัยของคุณ
ปรับใช้บน AppMaster Cloud หรือคลาวด์ของคุณเองเมื่อโมเดลบทบาทพร้อม
เริ่มทดลองใช้

การเข้าถึงข้อมูลตามบทบาทเป็นวิธีที่สะดวกในการจัดระเบียบกระแสข้อมูลสำหรับกลุ่มผู้ใช้เฉพาะ ด้วยแพลตฟอร์มที่ไม่มีโค้ด AppMaster.io คุณสามารถทดสอบคุณลักษณะนี้ได้ในการทดลองใช้

หากคุณประทับใจกับฟังก์ชันนี้ ให้ใช้แผน Professional ของเรา ซึ่งรวมถึงคุณลักษณะนี้ การส่งออกไฟล์ไบนารี การสำรองข้อมูลปกติ การถ่ายโอนโครงการ และอื่นๆ อีกมากมาย เรากำลังรอคุณอยู่บนแพลตฟอร์ม AppMaster.io เพื่อใช้งานแม้กระทั่งโครงการที่กล้าหาญที่สุดของคุณ

ง่ายต่อการเริ่มต้น
สร้างบางสิ่งที่ น่าทึ่ง

ทดลองกับ AppMaster ด้วยแผนฟรี
เมื่อคุณพร้อม คุณสามารถเลือกการสมัครที่เหมาะสมได้

เริ่ม