ที่มาภาพ Jan Losert
เป็นเรื่องปกติที่ web application จะมี users หลายตำแหน่ง เช่น Administrator มีสิทธิ์แก้ไขข้อมูลได้ทุกหน้า ในขณะที่ Editor มีสิทธิ์เขียนบทความเฉพาะในหมวดที่ตนเองได้รับมอบหมาย การเขียนโปรแกรมเพื่อกรองสิทธิ์เหล่านี้เรียกว่า “User Access Control”
วิธีการทำ User Access Control นั้นมีมากมายหลายวิธี วิธีที่ง่ายๆ ก็แค่กำหนดสิทธิ์ตายตัวลงไปในโค้ดเลย แต่กับเว็บบางประเภท Requirements กลับซับซ้อนมากกว่านั้น เช่นต้องการให้กำหนดสิทธิ์เข้าถึงเป็นรายบุคคลได้อย่าง Dynamic ผ่านระบบจัดการหลังบ้าน
ซึ่งโดยมากก็มักจะไปจบที่การทำ Table ของสิทธิ์แยกออกมา แล้วทำการโยงความสัมพันธ์ one-to-many ให้กับ user หรือ role นั้นๆ ว่าเข้าถึงหน้าไหนได้บ้าง
ฟังดูซับซ้อนมั้ยครับ? วันนี้ผมมีวิธีง่ายๆ มาแนะนำ