Rumah  >  Artikel  >  rangka kerja php  >  Mekanisme pengesahan identiti dan kebenaran dalam rangka kerja Yii: memastikan keselamatan aplikasi

Mekanisme pengesahan identiti dan kebenaran dalam rangka kerja Yii: memastikan keselamatan aplikasi

WBOY
WBOYasal
2023-06-21 18:09:431285semak imbas

Sebagai rangka kerja pembangunan PHP yang popular, rangka kerja Yii mempunyai keperluan yang tinggi untuk prestasi keselamatan aplikasi web. Antaranya, mekanisme pengesahan identiti dan kebenaran adalah salah satu teknologi utama untuk mencapai keperluan keselamatan asas aplikasi. Artikel ini akan menumpukan pada mekanisme pengesahan identiti dan kebenaran dalam rangka kerja Yii, bertujuan untuk membantu pembaca memahami dengan lebih baik dan menggunakan rangka kerja untuk mencapai keselamatan aplikasi.

1. Apakah pengesahan identiti dan kebenaran

Sebelum memperkenalkan mekanisme pengesahan identiti dan keizinan rangka kerja Yii, kami perlu menjelaskan dua konsep: pengesahan identiti dan kebenaran.

1. Pengesahan identiti

Pengesahan identiti biasanya merujuk kepada pengesahan sama ada pengguna adalah pengguna sah yang didaftarkan dalam sistem. Kaedah pengesahan identiti biasa termasuk: pengesahan nama pengguna dan kata laluan, pengesahan rangkaian sosial, pengesahan sijil, dsb. Peranan pengesahan identiti dalam aplikasi web adalah untuk mengehadkan hak akses pengguna dan melindungi maklumat sensitif daripada operasi haram dan kecurian.

2. Kebenaran

Sama seperti pengesahan identiti, kebenaran adalah untuk mengesahkan sama ada pengguna mempunyai kebenaran untuk mengakses sumber tertentu. Dalam aplikasi web, kebenaran memastikan keselamatan dengan memberikan kebenaran khusus kepada pengguna dengan cara yang jelas. Kaedah kebenaran biasa termasuk: Kawalan Akses Berasaskan Peranan (RBAC), token akses, OAuth, dsb.

2. Pengesahan identiti dalam rangka kerja Yii

1. Kaedah pelaksanaan pengesahan identiti

Rangka kerja Yii menyokong pelbagai kaedah pelaksanaan pengesahan identiti. Ini termasuk:

  • Pengesahan identiti asas HTTP
  • Pengesahan nama pengguna dan kata laluan
  • Pengesahan rangkaian sosial (Weibo, QQ, dll.)
  • OAuth pengesahan
  • Rantaian pengesah

2 Konfigurasi dan pelaksanaan pengesahan identiti

(1) Konfigurasikan pengesahan identiti

Dalam rangka kerja Yii, identiti pengesahan Konfigurasi dilakukan melalui fail konfigurasi aplikasi. Contohnya, apabila kita membuka fail config/main.php, kita akan melihat kod berikut:

'komponen' => 'pengguna dalam fail ' Sediakan, anda boleh mengkonfigurasi pengesahan identiti.

(2) Laksanakan pengesahan identiti

Selain menetapkan parameter yang berkaitan dalam fail konfigurasi, kami juga perlu melaksanakan pengesahan identiti dalam program. Dalam rangka kerja Yii, pengesahan identiti biasanya diselesaikan melalui pengesah. Sebagai contoh, kod untuk pengesahan melalui nama pengguna dan kata laluan adalah seperti berikut:

$identity = new UserIdentity('username', 'password');

if ($identity->authenticate()) {

'user' => [
    ‘identityClass’ => ‘appmodelsUser’,//认证模型
    ‘enableAutoLogin’ => true,//启用自动登录
],

}


3. Mekanisme keizinan dalam rangka kerja Yii

Pengesahan peranan

    Pengesahan peranan dalam rangka kerja Yii melepasi RBAC ( kawalan capaian berasaskan peranan). Dalam rangka kerja Yii, kita boleh menggunakan semua kelas di bawah yiibac untuk membina sistem RBAC.
  1. Pertama, anda perlu melaksanakan antara muka seperti yiibacRole, yiibacPermission dan yiibacRule dan menyediakan peraturan yang sepadan untuk menentukan kebenaran. Kemudian tentukan kebenaran operasi yang sepadan dengan peranan yang berbeza, seperti yang ditunjukkan dalam kod berikut:

$auth = Yii::$app->authManager;

$createPost = $auth-> createPermission ('createPost');

$createPost->description = 'Buat siaran';

$auth->add($createPost);

$author = $auth-> ; createRole('author');
$auth->add($author);

$auth->addChild($auth, $createPost);


Dalam kod di atas , kami mencipta kebenaran bernama "createPost" dan peranan bernama "pengarang", menunjukkan bahawa peranan ini boleh mencipta artikel.

2. Kawalan akses

Menggunakan kawalan akses dalam rangka kerja Yii, anda perlu menggunakan penapis yii iltersAccessControl untuk melaksanakannya dalam pengawal, seperti yang ditunjukkan di bawah:

awam gelagat fungsi ()

{

Yii::$app->user->login($identity);
//认证成功,用户数据保存到session中

}


Dalam kod di atas, kami menyediakan dua peraturan untuk mengawal kebenaran akses. Peraturan pertama membenarkan pengguna yang tidak disahkan mengakses operasi "pendaftaran", dan peraturan kedua memerlukan pengguna untuk disahkan sebelum mereka boleh mengakses operasi "indeks" dan "lihat".

4. Ringkasan

Artikel ini memperkenalkan mekanisme pengesahan identiti dan kebenaran dalam rangka kerja Yii. Dalam proses membangunkan aplikasi Web, memastikan keselamatan program adalah bahagian yang sangat kritikal. Oleh itu, penerapan teknologi pengesahan identiti dan kebenaran adalah sangat penting. Mekanisme pengesahan identiti dan keizinan rangka kerja Yii adalah sangat fleksibel dan praktikal dalam merealisasikan keselamatan aplikasi web, dan boleh memenuhi keperluan keselamatan aplikasi dengan lebih baik.

Atas ialah kandungan terperinci Mekanisme pengesahan identiti dan kebenaran dalam rangka kerja Yii: memastikan keselamatan aplikasi. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn