Melaksanakan Senarai Kawalan Akses dalam Aplikasi Web MVC
Pelaksanaan Senarai Kawalan Akses (ACL) memastikan pengguna diberi kuasa untuk melakukan tindakan tertentu dalam sesuatu aplikasi. Berikut ialah pendekatan menyeluruh untuk tugas ini:
Melaksanakan ACL
Kaedah paling berkesan melibatkan penggunaan corak penghias. Ini melibatkan pembalut objek sasaran dalam objek lain yang bertindak sebagai lapisan pelindung, tanpa melanjutkan kelas asal. Berikut ialah contoh:
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(array($this->target, $method), $arguments); } } }
Kelebihan:
Kawalan Akses Berasaskan Peranan (RBAC) untuk Objek
Untuk melaksanakan RBAC untuk objek, anda perlu mengambil kira hakikat bahawa objek domain mengandungi butiran pemilik. Ubah suai kaedah isAllowed:
$this->acl->isAllowed($this->target->getPermissions(), $command);
Nota Sampingan
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Melaksanakan Senarai Kawalan Akses (ACL) dengan Berkesan dalam Aplikasi MVC Web Saya?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!