国产av日韩一区二区三区精品,成人性爱视频在线观看,国产,欧美,日韩,一区,www.成色av久久成人,2222eeee成人天堂

Rumah rangka kerja php YII yii2怎么實(shí)現(xiàn)rbac

yii2怎么實(shí)現(xiàn)rbac

Dec 30, 2019 am 09:42 AM
yii2

yii2怎么實(shí)現(xiàn)rbac

RBAC(Role-Based Access Control )基于角色的訪問(wèn)控制。

1.基本思想:在用戶和訪問(wèn)權(quán)限之間引入角色的概念,將用戶和角色聯(lián)系起來(lái),通過(guò)對(duì)角色的授權(quán)來(lái)控制用戶對(duì)系統(tǒng)資源的訪問(wèn),相對(duì)傳統(tǒng)訪問(wèn)控制 引入角色極大地簡(jiǎn)化了權(quán)限的管理。? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(推薦學(xué)習(xí):yii框架

1).角色:可以理解為一定數(shù)量的權(quán)限的集合,權(quán)限的載體。例如:一個(gè)論壇系統(tǒng),“超級(jí)管理員”、“版主”都是角色。

2).權(quán)限:版主可管理版內(nèi)的帖子、可管理版內(nèi)的用戶等,這些是權(quán)限。?

Yii2中對(duì)rbac的實(shí)現(xiàn)

1.Yii2實(shí)現(xiàn)了通用的分層的RBAC,遵循的模型也是NIST RBAC model。

2.在yii2中增加了rule規(guī)則的概念,rule是什么鬼呢?

舉個(gè)栗子:對(duì)于文章系統(tǒng)而言,我們有管理員和普通用戶,允許管理員對(duì)文章的任何操作,但是只允許普通用戶創(chuàng)建文章和修改自己創(chuàng)建的文章,也就是說(shuō)普通用戶是有修改文章的權(quán)限的,但是額加的限制條件是只能修改自己的文章,這個(gè)額加的驗(yàn)證工作就是rule規(guī)則所要負(fù)責(zé)的事情。

3.yii2的權(quán)限管理實(shí)現(xiàn)支持文件和db兩個(gè)載體,基于db實(shí)現(xiàn)方式的核心是四個(gè)表:

1)存儲(chǔ)角色或權(quán)限的表:auth_item (type:1表示 角色;2表示權(quán)限)

CREATE TABLE `auth_item` (
`name` varchar(64) NOT NULL,
`type` int(11) NOT NULL,
`description` text,
`rule_name` varchar(64) DEFAULT NULL,
`data` text,
`created_at` int(11) DEFAULT NULL,
`updated_at` int(11) DEFAULT NULL,
PRIMARY KEY (`name`),
KEY `rule_name` (`rule_name`),
KEY `type` (`type`),
CONSTRAINT `auth_item_ibfk_1` FOREIGN KEY (`rule_name`) REFERENCES `auth_rule` (`name`) ON DELETE SET NULL ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

2) 權(quán)限和角色的上下級(jí)關(guān)聯(lián)表:auth_item_child

(包含關(guān)系:角色 可以包含 角色、角色 可以包含 權(quán)限、權(quán)限 可以包含 權(quán)限,但 權(quán)限 不可包含 角色)

CREATE TABLE `auth_item_child` (
`parent` varchar(64) NOT NULL,
`child` varchar(64) NOT NULL,
PRIMARY KEY (`parent`,`child`),
KEY `child` (`child`),
CONSTRAINT `auth_item_child_ibfk_1` FOREIGN KEY (`parent`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE,
CONSTRAINT `auth_item_child_ibfk_2` FOREIGN KEY (`child`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

3)用戶與權(quán)限(角色)的分配表:auth_assignment

CREATE TABLE `auth_assignment` (
`item_name` varchar(64) NOT NULL,
`user_id` varchar(64) NOT NULL,
`created_at` int(11) DEFAULT NULL,
PRIMARY KEY (`item_name`,`user_id`),
CONSTRAINT `auth_assignment_ibfk_1` FOREIGN KEY (`item_name`) REFERENCES `auth_item` (`name`) ON DELETE CASCADE ON UPDATE CASCADE
) ENGINE=InnoDB DEFAULT CHARSET=utf8

4)規(guī)則表:auth_rule

CREATE TABLE `auth_rule` (  
  `name` varchar(64) NOT NULL,  
  `data` text,  //存的是一個(gè)序列化的實(shí)現(xiàn)了yii\rbac\Rule接口的類的一個(gè)對(duì)象實(shí)例
  `created_at` int(11) DEFAULT NULL,  
  `updated_at` int(11) DEFAULT NULL,  
  PRIMARY KEY (`name`),  
  KEY `name` (`name`),  
  KEY `created_at` (`created_at`),  
  KEY `updated_at` (`updated_at`)  
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='權(quán)限規(guī)則表';

Atas ialah kandungan terperinci yii2怎么實(shí)現(xiàn)rbac. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
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

Alat AI Hot

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas

Tutorial PHP
1502
276
Apakah bundle aset Yii, dan apakah tujuan mereka? Apakah bundle aset Yii, dan apakah tujuan mereka? Jul 07, 2025 am 12:06 AM

YiiassetbundlesorganizeandManageWebassetssss, JavaScript, andimagesinayiiapplication.1.theysimplifyDependencyManagement, memastikanCorrectloadorder.2.theypreventduplicateassetinclusion.3

Bagaimana saya memberikan pandangan dari pengawal? Bagaimana saya memberikan pandangan dari pengawal? Jul 07, 2025 am 12:09 AM

Dalam rangka kerja MVC, mekanisme pengawal untuk menjadikan pandangan adalah berdasarkan konvensyen penamaan dan membolehkan penindasan yang jelas. Sekiranya pengalihan tidak ditunjukkan secara eksplisit, pengawal secara automatik akan mencari fail paparan dengan nama yang sama dengan tindakan untuk rendering. 1. Pastikan fail paparan wujud dan dinamakan dengan betul. Sebagai contoh, laluan paparan yang sepadan dengan pertunjukan tindakan pengawal pengawal selia harus pandangan/siaran/show.html.erb atau paparan/pos/show.cshtml; 2. Gunakan rendering eksplisit untuk menentukan templat yang berbeza, seperti render'custom_template 'dalam rel dan paparan (' poss.custom_template ') di laravel

Bagaimana saya membuat laluan asas di yii? Bagaimana saya membuat laluan asas di yii? Jul 09, 2025 am 01:15 AM

TOCREATEABASICROUTEINYII, FirstSetupAcontrollerbyPlacingItInTHeControllersDirectoryWithProperernamingandClassDefinitionErtingYii \ Web \ Web.1)

YII Pemaju Keterangan Pekerjaan: Tanggungjawab dan Kelayakan Utama YII Pemaju Keterangan Pekerjaan: Tanggungjawab dan Kelayakan Utama Jul 11, 2025 am 12:13 AM

Ayiideveloper'skeSponSibilitiesInbilitiesincludedesigningandImplementingFeatures, memastikanPlicationseCurity, andoptimizingPerformance.qualificationsneedareastronggraspofphp, ExperienceWithFront-EndTechnologies, DatabaseManagementsKills, danProblemblembi

Bagaimana saya membuat tindakan tersuai dalam pengawal YII? Bagaimana saya membuat tindakan tersuai dalam pengawal YII? Jul 12, 2025 am 12:35 AM

Kaedah mewujudkan operasi tersuai di YII adalah untuk menentukan kaedah yang sama bermula dengan tindakan dalam pengawal, secara pilihan menerima parameter; kemudian memproses data, membuat pandangan, atau mengembalikan JSON seperti yang diperlukan; dan akhirnya memastikan keselamatan melalui kawalan akses. Langkah -langkah khusus termasuk: 1. Buat kaedah yang diawali dengan tindakan; 2. Tetapkan kaedah kepada orang ramai; 3. Boleh menerima parameter URL; 4. Proses data seperti menanyakan model, memproses permintaan pos, pengalihan, dan sebagainya; 5. Gunakan AccessControl atau menyemak kebenaran secara manual untuk menyekat akses. Sebagai contoh, ActionProfile ($ ID) boleh diakses melalui /tapak /profil? Id = 123 dan menjadikan halaman profil pengguna. Amalan terbaik adalah

Pembangun Yii: Peranan, Tanggungjawab, dan Kemahiran Diperlukan Pembangun Yii: Peranan, Tanggungjawab, dan Kemahiran Diperlukan Jul 12, 2025 am 12:11 AM

Ayiidevelopercraftswebapplicationsingingtheyiiframework, keperluanKillsinphp, yii-specificknowledge, dan webdevelopmentlifecyclemanagement.keewerponsibilitiesinclude: 1) writingefficientcodeTooptimizePormance, 2)

Bagaimana saya menggunakan corak Activerecord di yii? Bagaimana saya menggunakan corak Activerecord di yii? Jul 09, 2025 am 01:08 AM

TouseActiveRecordinYiieffectively,youcreateamodelclassforeachtableandinteractwiththedatabaseusingobject-orientedmethods.First,defineamodelclassextendingyii\db\ActiveRecordandspecifythecorrespondingtablenameviatableName().Youcangeneratemodelsautomatic

Bagaimana saya log acara keselamatan di yii? Bagaimana saya log acara keselamatan di yii? Jul 11, 2025 am 12:07 AM

Rakaman acara keselamatan di YII boleh dicapai dengan mengkonfigurasi sasaran log, mencetuskan log acara utama, memandangkan penyimpanan pangkalan data, dan mengelakkan rakaman maklumat sensitif. Langkah -langkah khusus adalah seperti berikut: 1. Tetapkan sasaran log khusus dalam fail konfigurasi, seperti filetase atau dBTarget, dan tentukan klasifikasi sebagai 'keselamatan'; 2. Gunakan yii :: info () atau yii :: amaran () untuk merakam log apabila peristiwa keselamatan kritikal (seperti kegagalan masuk dan menetapkan semula kata laluan) berlaku; 3. Secara pilihan menyimpan log dalam pangkalan data untuk pertanyaan dan analisis, dan anda perlu membuat jadual terlebih dahulu dan mengkonfigurasi parameter logTable; 4. Elakkan termasuk data sensitif, seperti kata laluan atau token semasa merakam maklumat konteks, dan anda boleh menggunakan penggantian parameter untuk menambah IP dan nama pengguna; 5

See all articles