Rumah >pembangunan bahagian belakang >tutorial php >Bagaimana untuk Melaksanakan Senarai Kawalan Akses (ACL) dan Akses Berasaskan Peranan dalam Aplikasi MVC Web?
Bagaimanakah saya boleh melaksanakan Senarai Kawalan Akses dalam aplikasi Web MVC saya dan cara mengendalikan akses berasaskan peranan pengguna?
Pelaksanaan ACL
Corak penghias ialah cara yang berkesan untuk melaksanakan ACL tanpa melanjutkan kelas Pengawal. Begini caranya:
class SecureContainer { protected $target; protected $acl; public function __construct($target, $acl) { $this->target = $target; $this->acl = $acl; } public function __call($method, $arguments) { if (method_exists($this->target, $method) && $this->acl->isAllowed(get_class($this->target), $method)) { return call_user_func_array([$this->target, $method], $arguments); } } }
Anda boleh menggunakan ini seperti berikut:
$currentUser = ...; $controller = ...; $acl = new AccessControlList($currentUser); $controller = new SecureContainer($controller, $acl); $controller->actionIndex(); // ACL-protected controller methods
Akses Berasaskan Peranan Pengguna
Untuk akses berasaskan peranan , pertimbangkan perkara berikut:
Menyemak Pemilik sebuah Sumber:
Contohnya:
$this->acl->isAllowed( $this->target->getPermissions(), // Get object permissions [$getter, $method] // Command );
Menguatkuasakan Akses Sekatan:
Nota Tambahan pada MVC:
Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Senarai Kawalan Akses (ACL) dan Akses Berasaskan Peranan dalam Aplikasi MVC Web?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!