Dengan pembangunan aplikasi Internet, pengurusan kebenaran telah menjadi bahagian yang amat diperlukan dalam pembangunan aplikasi. Semasa proses pembangunan, kami perlu memberikan kebenaran yang berbeza kepada pengguna yang berbeza untuk mencapai keselamatan data dan kawalan kebenaran operasi. Operasi kebenaran pengesahan Auth dalam rangka kerja ThinkPHP6 memberikan kami penyelesaian yang mudah dan mudah digunakan.
Apakah operasi kebenaran pengesahan Pengesahan?
Auth ialah pemalam pengurusan kebenaran dalam rangka kerja ThinkPHP6 Ia melaksanakan mekanisme pengurusan kebenaran yang cekap dan boleh dikawal dengan mentakrif dan mengurus peranan, pengguna, kebenaran, peraturan, dsb. Kelebihannya termasuk operasi mudah, kebolehsuaian yang kuat, kebolehkawalan yang tinggi, dan kebolehskalaan yang baik Ia digunakan secara meluas dalam aplikasi peringkat perusahaan.
Di sini kami menerangkan cara menggunakan Auth untuk melaksanakan pengurusan kebenaran dalam ThinkPHP6.
Mekanisme kuasa pengesahan
Sebelum menggunakan Auth, kita perlu memahami mekanisme kuasa pengesahannya. Peranan, pengguna, kebenaran, peraturan dan konsep lain ditakrifkan seperti berikut:
Secara khusus, kita boleh mentakrifkan beberapa kebenaran biasa seperti berikut:
Pelaksanaan operasi kebenaran pengesahan
Dengan konsep asas mekanisme kebenaran pengesahan, kami boleh memulakan operasi kebenaran pengesahan Pengesahan dalam ThinkPHP6.
Mula-mula kita perlu memastikan bahawa pemalam Auth telah dipasang dalam aplikasi, yang boleh dipasang melalui arahan berikut :
composer require topthink/think-auth
Menggunakan Auth dalam aplikasi memerlukan penggunaan middleware, yang dikonfigurasikan dalam config/middleware.php:
rreeeSemasa permulaan aplikasi, kita perlu menentukan beberapa peraturan kebenaran, yang akan digunakan untuk pengesahan kebenaran, contohnya:
return [ //全局中间件列表 'global' => [ hinkmiddlewareSessionInit::class, hinkmiddlewareLoadLangPack::class, hinkmiddlewareCheckRequestCache::class, hinkmiddlewareSendFile::class, ], //中间件别名 'alias' => [ 'auth' => hinkmiddlewareAuth::class, ], ];
Dalam kod di atas , kami mentakrifkan peraturan kebenaran pengurusan pengguna asas, Tanpa kebenaran ini, operasi pengawal yang sepadan tidak boleh diakses.
Kami perlu memberi kebenaran kepada peranan dan pengguna dalam aplikasi, yang boleh dibenarkan apabila aplikasi dimulakan:
use thinkacadeAuth; //定义规则 Auth::rule('admin.user/index', 'checkAdmin'); Auth::rule('admin.user/add', 'checkAdmin'); Auth::rule('admin.user/edit', 'checkAdmin'); Auth::rule('admin.user/del', 'checkAdmin');
dalam Dalam kod di atas, kami mentakrifkan peranan bernama pentadbir dan menetapkan peraturan kebenaran yang sepadan. Kemudian kami menentukan pengguna bernama pentadbir, yang mempunyai peranan pentadbir, membenarkan kebenaran admin.user/add dan mengalih keluar kebenaran admin.user/del.
Sebelum kami melaksanakan pengesahan kebenaran, kami boleh menilai dahulu peranan, pengguna, kebenaran, dll. dalam pengawal:
//定义角色 Auth::group('admin', function () { //设置角色权限 Auth::setRule([ 'admin.user/index', 'admin.user/add', 'admin.user/edit', 'admin.user/del', ]); }); //定义用户并授权 Auth::user('admin', function () { Auth::addToGroup('admin')//添加角色 ->addPermission(['admin.user/add'])//添加权限 ->removePermission(['admin.user/del']);//移除权限 });
Dalam kod di atas, kami melakukan pengesahan log masuk pengguna, pengesahan pentadbir super, pengesahan peranan dan kebenaran, dsb., dan akhirnya kembali ke halaman yang sepadan atau lompat.
Ringkasan
Melalui operasi di atas, kami boleh menggunakan operasi kebenaran pengesahan Auth dalam rangka kerja ThinkPHP6 untuk mencapai pengurusan kebenaran aplikasi yang mudah, cekap dan boleh dikawal, memastikan keselamatan data dan kawalan kebenaran operasi. Semasa penggunaan, untuk memastikan keselamatan aplikasi, kami perlu menetapkan pelbagai peraturan kebenaran dengan teliti, mengehadkan kebenaran pengguna dan peranan yang sepadan, dan meningkatkan kebolehskalaan dan kebolehkawalan aplikasi.
Atas ialah kandungan terperinci Bagaimana untuk menggunakan operasi kuasa pengesahan Auth dalam ThinkPHP6?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!