|
|
|
ถามเรื่อง php ในการจำกัดสิทธิ์ของผู้ดูแลระบบหน่อยค่ะ ทั้งเรื่องเมนู แก้ไข เพิ่ม ลบ เป็นต้น |
|
|
|
|
|
|
|
ขอบคุณค่ะ แต่งงอ่ะค่ะ ซับซ้อนจัง
มี code มี code ตัวอย่างมั้ยคะ
|
|
|
|
|
Date :
2011-01-27 17:16:58 |
By :
idea-soft |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ขอโค้ดด้วยกำลังต้องการพอดีเลย
|
|
|
|
|
Date :
2011-01-27 20:06:52 |
By :
hwungnee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
มี acl หลายเจ้าด้วยกันนะครับ
โค้ดต่างกันนิดหนอ่ย แต่เพื่อเป้าหมายเดียวกัน ไม่ต่างกันมาก
concept ของการทำ acl ก็ตามที่ผมกล่าวไปข้างต้น
ผมจะยกตัวอย่างด้วย zend acl
เรียกโหลด library ของ zend acl และที่เกี่ยวข้องเข้ามาในระบบให้เรียบร้อยครับ
คราวนี้ก็เขียนโค้ดกันนิด ๆ หน่อย
$a = new Zend_Acl();
จากนั้นก็ สร้าง role
แล้วก็เพิ่ม role เหล่านั้นเข้าในระบบ
$a->addRole(new Zend_Acl_Role('role1'));
$a->addRole(new Zend_Acl_Role('role2'));
แล้วก็เพิ่ม resource
$a->add(new Zend_Acl_Resource('rs1'));
หากอยากให้มัน derive กันมา ก็ใช้
$a->add(new Zend_Acl_Resource('rs2'),'rs1');
อะไรแบบนี้
แล้วก็ดูว่าให้ใครเข้าส่วนไหน ห้ามส่วนไหน ก็
อันนี้ห้าม
$a->deny('role1','rs2');
อันนี้อนุญาต
$a->allow('role2','rs1');
ถ้าเกิดว่ามีหลาย role
แล้วต้องการให้เข้าถึงหมดเลย ก็ไม่ต้องระบุ resource แบบนี้
$a->allow('role2');
หากต้องการตรวจสอบว่า role ไหน มีสิทธิใน resource ไหนหรือไม่ ก็ทำแบบนี้ครับ
$a->isAllowed('role1', 'rs2');
แบบนี้ครับ
นี่เป็นแค่ตัวอย่างครับ
ปกติ site ใหญ่ ๆ จะมีหลาย role มีหลาย resouce
ก็ต้องทำแบบนี้ไปเรื่อย ๆ
ปล. ขออภัยหากโค้ด error ผมไม่ได้ทดสอบครับ
my bug http://my.bugdevelopers.com
|
ประวัติการแก้ไข 2011-01-27 20:51:34 2011-01-27 20:52:26
|
|
|
|
Date :
2011-01-27 20:50:14 |
By :
triplea |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ดีครับท่าน
|
ประวัติการแก้ไข 2011-01-28 14:37:25
|
|
|
|
Date :
2011-01-28 14:36:41 |
By :
tttaaammm |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
เอาไปลองดูครับ
|
|
|
|
|
Date :
2011-01-28 20:54:38 |
By :
hwungnee |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ถ้าไม่มี user role มาก อย่างหัวกระทู้ก็แค่เขียน
is_super_admin() เฉพาะ super (ทำได้หมด)
is_admin() ทั้ง super และ ธรรมดา
is_login() ทุกคนที่เข้าระบบแล้ว
การกำหนด role มันก็ดี ขึ้นอยู่ว่าเว็บจะมีการเปลี่ยนแปลงมั้ย ถ้าคิดว่าเปลี่ยน ใช้ role เลยครับ แค่สร้าง ตารางว่า user ไหน อยู่ระดับไหน ใช้อะไรได้บ้าง
http://www.pjgunner.com
|
ประวัติการแก้ไข 2011-01-28 21:08:28 2011-01-28 21:12:59
|
|
|
|
Date :
2011-01-28 21:07:02 |
By :
pjgunner.com |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 00
|