Register Register Member Login Member Login Member Login Forgot Password ??
PHP , ASP , ASP.NET, VB.NET, C#, Java , jQuery , Android , iOS , Windows Phone
 

Registered : 109,037

HOME > PHP > PHP Forum > ถามเรื่อง php ในการจำกัดสิทธิ์ของผู้ดูแลระบบหน่อยค่ะ ทั้งเรื่องเมนู แก้ไข เพิ่ม ลบ เป็นต้น



 

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

 



Topic : 055182



โพสกระทู้ ( 512 )
บทความ ( 0 )



สถานะออฟไลน์




เช่น ระบบ Admin มี ผู้ใช้ระบบ 2 คน โดยมีเมนูดังนี้

1. หน้าหลัก
2. เพิ่มข้อมูลนักศึกษา
3. เพิ่มหลักสูตร
4. จัดการบุคลากร

เป็นต้น

ผู้ใช้ระบบคนแรก ใช้งานได้ทุกเมนู เพิ่ม แก้ไข ลบ ได้ทั้งหมด

ผู้ใช้ระบบคนที่สอง สามารถเห็นเมนูแค่รายการที่ 1 2 เท่านั้น และ ไม่มีสิทธิ์ แก้ไข หรือลบ ได้แต่เพิ่มเท่านั้น

พี่ ๆมีแนวทางการเขียนยังไงคะ ช่วยแนะนำทีค่ะ



Tag : PHP, HTML/CSS, JavaScript







Move To Hilight (Stock) 
Send To Friend.Bookmark.
Date : 2011-01-27 15:48:52 By : idea-soft View : 1591 Reply : 10
 

 

No. 1



โพสกระทู้ ( 342 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


โดยปกติแล้ว ทำแบบนี้ก็ได้ครับ
psudo code นะครับ
Quote:
ถ้าเป็น คนที่ 1
เข้าถึง 1, 2, 3, 4 ได้
ถ้าเป็น คนที่ 2
เข้าถึง 1, 2 ได้
ถ้าเป็นคนอื่น ๆ
ห้ามเข้าเลย


บางที ก็อาจเข้าไปกำหนดใน เงื่อนไขเหล่านี้ ใน menu เลยก็ได้
หรือบางที อาจเข้าไปกำหนดเงื่อนไขใน function เหล่านั้น ก็ได้

วิธีที่กล่าวมา ก็ได้ผลนะครับ งานใหญ่งานเล็กก็ทำได้เหมือนกัน

แต่วิธีที่นิยมใช้กัน เป็นแบบนี้ครับ

เราจะใช้ access controll list กัน หรือ ที่เรียกกันว่า acl ครับ

ซึ่ง acl นี้ จะสามารถกำหนดได้ละเอียด ยีดหยุ่น และ แม่นยำกว่าครับ
โดยการกำหนด role (สิทธิ) และ resource (พื้นที่เข้าถึง) ครับ
เช่น

ผมมี role mod และ admin

การใช้งานก็จะเป็นแบบนี้ครับ

I. กำหนด role ชื่อ mod
II. ผมกำหนด role อีก ชื่อ admin โดยให้ extend มาจาก mod

คราวนี้ผมก็กำหนดว่า resource ไหน role ไหน ใช้ได้บ้าง
ผมก็ทำแบบนี้ครับ

I. กำหนด resource 1, 2 ให้ mod
II. กำหนด resource 3, 4 ให้ admin

คราวนี้ mod เอง ก็จะไม่สามารถทำอะไรกับ 3, 4 ได้ครับ
ในขณะ ที่ admin ได้รับการ derive มาจาก mod ด้วย ก็จะสามารถเข้าใจ 1, 2 ได้
และสามารถ ใช้ 3, 4 ได้อีกครับ

แนะนำ php blog http://my.bugdevelopers.com








ประวัติการแก้ไข
2011-01-27 17:22:10
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-27 16:04:52 By : triplea
 


 

No. 2



โพสกระทู้ ( 512 )
บทความ ( 0 )



สถานะออฟไลน์


ขอบคุณค่ะ แต่งงอ่ะค่ะ ซับซ้อนจัง
มี code มี code ตัวอย่างมั้ยคะ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-27 17:16:58 By : idea-soft
 

 

No. 3



โพสกระทู้ ( 59 )
บทความ ( 0 )



สถานะออฟไลน์


ขอโค้ดด้วยกำลังต้องการพอดีเลย
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-27 20:06:52 By : hwungnee
 


 

No. 4



โพสกระทู้ ( 342 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


มี 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
 


 

No. 5

Guest


ตอบความคิดเห็นที่ : 4 เขียนโดย : triplea เมื่อวันที่ 2011-01-27 20:50:14
รายละเอียดของการตอบ ::
ผมพอมีทักษะ php นิดหน่อย พอจะเขียน เว็บสไตล์แบบพี่ ได้ป่าวคับ เห้นแล้วน่าเขียนมากคับแบบนี้ ว่าแต่ว่ายากป่าวคับ อยากศึกษาด้วยอะคับ

แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-28 00:31:13 By : big4
 


 

No. 6



โพสกระทู้ ( 342 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์


Quote:
ผมพอมีทักษะ php นิดหน่อย พอจะเขียน เว็บสไตล์แบบพี่ ได้ป่าวคับ เห้นแล้วน่าเขียนมากคับแบบนี้


ถ้าปั่นจักรยานเป็นแล้ว
จะไปลองขี่ ลองขับ มอ'ไซต์ ก็ไม่ยากเท่าไหร่ เพราะรู้จังหวะดีแล้ว รู้การทรงตัวแล้ว


Quote:
ว่าแต่ว่ายากป่าวคับ อยากศึกษาด้วยอะคับ


ไม่ยากครับ แต่ก็ไม่ง่าย

ถ้ามีพื้นฐาน php (procedural) อยู่แล้ว
ลองศึกษา OOP ต่อนิดหน่อย

ก่อนศึกษา แนะนำให้หลับซักตื่น พอตื่นมาจะเรียนรู้ OOP
ก็พยายามอย่าเอาแนวคิดแบบเก่า ๆ ที่เคยทำมา มาแทรกระหว่างเรียนรู้นะครับ
เพราะมันจะทำให้เกิดความรู้สึก ขัด ๆ กับที่เคยทำมา

ระยะแรก ๆ จะพบว่า จะมาทำแบบนี้ทำไม ในเมื่อทำแบบเดิมก็ได้ผลดีอยู่แล้ว ผลลัพธ์ก็เหมือนกัน ฯลฯ......

นี่คืออาการที่เรายังไม่สามารถกำจัดแนวคิดแบบเดิม ๆ ได้ครับ

http://my.bugdevelopers.com
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-28 12:09:43 By : triplea
 


 

No. 7



โพสกระทู้ ( 58 )
บทความ ( 0 )



สถานะออฟไลน์


ดีครับท่าน


ประวัติการแก้ไข
2011-01-28 14:37:25
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-28 14:36:41 By : tttaaammm
 


 

No. 8

Guest


ตอบความคิดเห็นที่ : 6 เขียนโดย : triplea เมื่อวันที่ 2011-01-28 12:09:43
อยากลองทำระบบเล็กๆ ถึงเล็กมากซักระบบ แนว oop ครับ ไม่ต้องมีหลายหน้า ทำพอเป็นพื้นฐานนะคับ พอให้ทราย คอนเซป oop จะได้เกิดแนวคิด และ ความเข้าใจนะคับ แนะนำด้วยนะครับท่าน
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-28 14:40:08 By : big4
 


 

No. 9



โพสกระทู้ ( 59 )
บทความ ( 0 )



สถานะออฟไลน์


เอาไปลองดูครับ
แสดงความคิดเห็นโดยอ้างถึง ความคิดเห็นนี้
Date : 2011-01-28 20:54:38 By : hwungnee
 


 

No. 10



โพสกระทู้ ( 3,468 )
บทความ ( 0 )

สมาชิกที่ใส่เสื้อไทยครีเอท

สถานะออฟไลน์
Twitter

ถ้าไม่มี 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
 

   

ค้นหาข้อมูล


   
 

แสดงความคิดเห็น
Re : ถามเรื่อง php ในการจำกัดสิทธิ์ของผู้ดูแลระบบหน่อยค่ะ ทั้งเรื่องเมนู แก้ไข เพิ่ม ลบ เป็นต้น
 
 
รายละเอียด
 
ตัวหนา ตัวเอียง ตัวขีดเส้นใต้ ตัวมีขีดกลาง| ตัวเรืองแสง ตัวมีเงา ตัวอักษรวิ่ง| จัดย่อหน้าอิสระ จัดย่อหน้าชิดซ้าย จัดย่อหน้ากึ่งกลาง จัดย่อหน้าชิดขวา| เส้นขวาง| ขนาดตัวอักษร แบบตัวอักษร
ใส่แฟลช ใส่รูป ใส่ไฮเปอร์ลิ้งค์ ใส่อีเมล์ ใส่ลิ้งค์ FTP| ใส่แถวของตาราง ใส่คอลัมน์ตาราง| ตัวยก ตัวห้อย ตัวพิมพ์ดีด| ใส่โค้ด ใส่การอ้างถึงคำพูด| ใส่ลีสต์
smiley for :lol: smiley for :ken: smiley for :D smiley for :) smiley for ;) smiley for :eek: smiley for :geek: smiley for :roll: smiley for :erm: smiley for :cool: smiley for :blank: smiley for :idea: smiley for :ehh: smiley for :aargh: smiley for :evil:
Insert PHP Code
Insert ASP Code
Insert VB.NET Code Insert C#.NET Code Insert JavaScript Code Insert C#.NET Code
Insert Java Code
Insert Android Code
Insert Objective-C Code
Insert XML Code
Insert SQL Code
Insert Code
เพื่อความเรียบร้อยของข้อความ ควรจัดรูปแบบให้พอดีกับขนาดของหน้าจอ เพื่อง่ายต่อการอ่านและสบายตา และตรวจสอบภาษาไทยให้ถูกต้อง

อัพโหลดแทรกรูปภาพ

Notice

เพื่อความปลอดภัยของเว็บบอร์ด ไม่อนุญาติให้แทรก แท็ก [img]....[/img] โดยการอัพโหลดไฟล์รูปจากที่อื่น เช่นเว็บไซต์ ฟรีอัพโหลดต่าง ๆ
อัพโหลดแทรกรูปภาพ ให้ใช้บริการอัพโหลดไฟล์ของไทยครีเอท และตัดรูปภาพให้พอดีกับสกรีน เพื่อความโหลดเร็วและไฟล์ไม่ถูกลบทิ้ง

   
  เพื่อความปลอดภัยและการตรวจสอบ กระทู้ที่แทรกไฟล์อัพโหลดไฟล์จากที่อื่น อาจจะถูกลบทิ้ง
 
โดย
อีเมล์
บวกค่าให้ถูก
<= ตัวเลขฮินดูอารบิก เช่น 123 (หรือล็อกอินเข้าระบบสมาชิกเพื่อไม่ต้องกรอก)







Exchange: นำเข้าสินค้าจากจีน, Taobao, เฟอร์นิเจอร์, ของพรีเมี่ยม, ร่ม, ปากกา, power bank, แฟลชไดร์ฟ, กระบอกน้ำ

Load balance : Server 00
ThaiCreate.Com Logo
© www.ThaiCreate.Com. 2003-2024 All Rights Reserved.
ไทยครีเอทบริการ จัดทำดูแลแก้ไข Web Application ทุกรูปแบบ (PHP, .Net Application, VB.Net, C#)
[Conditions Privacy Statement] ติดต่อโฆษณา 081-987-6107 อัตราราคา คลิกที่นี่