Dalam aplikasi web, keselamatan adalah penting. Untuk melindungi kerahsiaan data dan aplikasi pengguna, kawalan akses adalah perlu. Dalam kebanyakan kes, pengguna hanya mempunyai akses kepada sumber atau maklumat yang mereka perlukan. Komponen pengurusan kebenaran rangka kerja Yii menyediakan cara yang mudah dan berkesan untuk mencapai matlamat ini.
Penyelesaian RBAC (Kawalan Akses Berasaskan Peranan) rangka kerja Yii bertujuan untuk menentukan kawalan akses sebagai kebenaran yang jelas dan fleksibel. Teras penyelesaian RBAC adalah untuk menentukan peranan dan kebenaran dalam aplikasi, dan kemudian menugaskan pengguna kepada peranan yang berbeza. Peranan dan kebenaran ini boleh dikaitkan dengan pengawal dan tindakan aplikasi anda untuk memastikan pengguna hanya mengakses kandungan yang dibenarkan untuk mereka akses.
Skim RBAC rangka kerja Yii mempunyai komponen utama berikut:
Untuk menggunakan komponen RBAC dalam rangka kerja Yii, anda perlu mengkonfigurasi pengurus kebenaran (AuthManager) terlebih dahulu. Rangka kerja Yii menyediakan dua pelaksanaan pengurus kebenaran: berasaskan pangkalan data dan berasaskan fail. Kita boleh mengkonfigurasinya mengikut situasi sebenar.
Apabila menggunakan skim RBAC, pengurus kebenaran akan menjadi antara muka utama kami. Kami boleh mengurus penugasan peranan, kebenaran, peraturan dan pengguna melalui pengurus kebenaran. Sebagai contoh, kita boleh mencipta peranan baharu menggunakan fungsi createRole() pengurus kebenaran dan menambah peranan kepada pengurus kebenaran menggunakan fungsi add().
Skim RBAC rangka kerja Yii juga mempunyai penapis pengawal akses yang mudah. Penapis pengawal merujuk kepada tingkah laku pengawal khas yang melaksanakan antara muka IAccessControl. Antara muka ini termasuk dua kaedah: beforeAction() dan checkAccess(). Sebelum melakukan sebarang tindakan dalam pengawal, kaedah beforeAction() akan dipanggil dan menyemak sama ada pengguna semasa mempunyai kebenaran yang sesuai untuk melaksanakan tindakan tersebut. Jika pengguna tidak mempunyai kebenaran yang sesuai, tindakan itu tidak akan dilakukan dan dikembalikan ke halaman lain. Watak untuk menyemak kebenaran ini kadangkala mahal. Adalah disyorkan untuk merekodkan kebenaran pengguna apabila ia boleh dilaksanakan untuk mengelakkan lawatan kerap ke pangkalan data untuk mendapatkan nilai.
Rangka kerja Yii juga menyediakan penapis kawalan akses yang mudah (AccessControl) untuk melaksanakan kawalan akses. Penapis AccessControl boleh ditentukan dalam konfigurasi pengawal atau modul dan dikonfigurasikan dengan senarai peraturan kebenaran. Penapis ini akan menghuraikan peraturan kebenaran dan melakukan semakan apabila pengguna mengakses tindakan yang dilindungi.
Penapis AccessControl rangka kerja Yii mempunyai atribut utama berikut:
Dalam pembangunan sebenar, menggunakan skim RBAC untuk kawalan capaian sumber mempunyai kelebihan berikut:
Ringkasnya, menggunakan penyelesaian RBAC rangka kerja Yii boleh menjadikan aplikasi web lebih selamat dan teratur, serta melindungi maklumat sensitif pengguna daripada dibocorkan.
Atas ialah kandungan terperinci Kawalan kebenaran dalam rangka kerja Yii: mengawal kebenaran akses pengguna. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!