ระบบการจัดการสิทธิ์ที่ง่ายที่สุด พัฒนาบน Laravel5.5 โปรดเปลี่ยนไปใช้สาขา any54
สำหรับเวอร์ชัน Laravel5.4
Any
เป็นโมดูลแบ็กเอนด์การจัดการใหม่ที่เรียบง่ายที่สุด รวมถึงการควบคุมสิทธิ์ที่ง่ายที่สุด เมื่อฉันเขียนระบบการอนุญาตครั้งแรก ฉันจะอ่านซอร์สโค้ดที่เขียนโดยชาวต่างชาติ จากโค้ดของเขา ฉันเขียนแบ็กเอนด์ตาม Laravel5.2 IAdmin
นี่คือระบบการอนุญาตดั้งเดิม สำหรับการใช้งานสาธารณะ การอนุญาตทั้งหมดจะถูกเขียนในไฟล์กำหนดค่า
iDashboard
ปรับแนวคิดการออกแบบและโครงสร้างโค้ดให้เหมาะสมตาม IAdmin
และผูกสิทธิ์เข้ากับชื่อเส้นทาง มิดเดิลแวร์สามารถกำหนดสิทธิ์ของตัวควบคุมทั้งหมดได้ การพัฒนาบนพื้นฐาน Laravel 5.3 การเพิ่มประสิทธิภาพเพียงอย่างเดียวคือการผูกสิทธิ์และนามแฝงการกำหนดเส้นทาง เพื่อให้สามารถใช้โค้ดได้โดยตรงหลังจากเขียนแล้ว อย่างไรก็ตาม ปัญหาไฟล์การกำหนดค่ามากเกินไปยังไม่ได้รับการแก้ไข
โปรเจ็กต์ Any
ที่ได้รับการสร้างขึ้นใหม่ตามประสบการณ์ iDashboard
จำเป็นต้องกำหนดการควบคุมสิทธิ์ในเวอร์ชันก่อนหน้าด้วยตนเอง ซึ่งช่วยลดความจำเป็นในการกำหนดสิทธิ์และการกำหนดค่าได้อย่างมาก Any
ที่เกิด
หลักการสำคัญของ Any
คือการขอรับตัวควบคุม (ตัวควบคุม) และวิธีการ (วิธีการ) ที่เข้าถึงอยู่ในปัจจุบันตามเส้นทางที่ผู้ใช้เยี่ยมชม ตัวควบคุมจะเพิ่มวิธีการสร้างค่าสิทธิ์ที่ไม่ซ้ำกัน มิดเดิลแวร์จะตัดสินเมื่อผู้ใช้เข้าถึง วิธีการบางอย่าง หากคุณเป็นผู้ดูแลระบบขั้นสูง แม้ว่าคุณจะไม่มีสิทธิ์นี้ก็ตาม การอนุญาตดังกล่าวจะมอบให้กับบทบาทผู้ดูแลระบบขั้นสูงโดยอัตโนมัติ เพื่อหลีกเลี่ยงการสอบถามมิดเดิลแวร์มากเกินไป สำเนาสิทธิ์ทั้งหมดของผู้ใช้ปัจจุบันจะถูกแคชหลังจากที่ผู้ใช้เข้าสู่ระบบสำเร็จ เมื่อพิจารณาสิทธิ์ พวกเขาจะได้รับโดยตรงจากแคช จะอัพเดตแคช นอกจากนี้ยังมีการเพิ่มประสิทธิภาพหลายอย่างให้กับโค้ดด้วย
นี่เป็นเพียงจุดเริ่มต้นของฟังก์ชันพื้นฐาน หวังว่าจะได้แรงบันดาลใจเพิ่มเติม
ดาวน์โหลดรหัสของโครงการนี้ในเครื่อง:
git clone https://github.com/lanceWan/any.git
เข้าสู่โครงการและติดตั้ง composer
:
cd any
composer install
ไฟล์การกำหนดค่า .env
:
[sudo]cp .env.example .env
ให้ความสนใจกับการอนุญาตการดำเนินการภายใต้ Linux และ Mac!
กำหนดค่าฐานข้อมูล:
DB_HOST=localhost
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
ย้ายข้อมูล:
php artisan migrate --seed
ตกลง โครงการได้รับการกำหนดค่าแล้ว เพียงไปที่หน้าแรกและเข้าสู่ระบบ หากคุณไม่ทราบเส้นทาง คุณสามารถไปที่ไฟล์ routes/web.php
ได้โดยตรง บัญชีผู้ดูแลระบบเริ่มต้น: iwanli
รหัสผ่าน: 123456
หากคุณกำหนดค่าภายใต้ Linux
หรือ Mac
โปรดใส่ใจกับสิทธิ์ของไดเรกทอรีที่เกี่ยวข้อง ฉันจะไม่ลงรายละเอียดที่นี่ ขอให้สนุก!
การพัฒนา Any
แยกออกจากข้อเสนอแนะและข้อเสนอแนะของทุกคน หากคุณมีแนวคิดใด ๆ คุณสามารถส่งโดยตรงได้ที่ https://github.com/lanceWan/any/issues
กลุ่มแลกเปลี่ยนการเรียนรู้ Laravel: 312621686