Skip to main content

membuat rbac yii2 Framework

artikel ini sebenarnya arsip saya untuk melawan lupa aja... semoga juga bermanfaat bagi yang membaca.
berhubung ini arsip saya mohon maaf jika penulisan artikel ini kurang menarik :D ...hehehe

1. listing SQL untuk membuat table yang di perlukan  

drop table if exists `auth_assignment`;
drop table if exists `auth_item_child`;
drop table if exists `auth_item`;
drop table if exists `auth_rule`;

create table `auth_rule`
(
`name` varchar(64) not null,
`data` text,
`created_at` integer,
`updated_at` integer, primary key (`name`)
) engine InnoDB;



create table `auth_item`
(
`name` varchar(64) not null,
`type` integer not null,
`description` text,
`rule_name` varchar(64),
`data` text,
`created_at` integer,
`updated_at` integer,
primary key (`name`),
foreign key (`rule_name`) references `auth_rule` (`name`) on delete set null on update cascade,
key `type` (`type`)
) engine InnoDB;

create table `auth_item_child`
(
`parent` varchar(64) not null,
`child` varchar(64) not null,
primary key (`parent`, `child`),
foreign key (`parent`) references `auth_item` (`name`) on delete cascade on update cascade,
foreign key (`child`) references `auth_item` (`name`) on delete cascade on update cascade
) engine InnoDB;

create table `auth_assignment`
(
`item_name` varchar(64) not null,
`user_id` varchar(64) not null,
`created_at` integer,
primary key (`item_name`, `user_id`),
foreign key (`item_name`) references `auth_item` (`name`) on delete cascade on update cascade
) engine InnoDB;

tabel auth_item : merupakan tabel untuk pemberian nama role untuk digunakan nantinya
tabel auth_item_child : merupakan semacam sub sub / turunan / 1 auth_item bisa mencakup beberapa auth_item yang lain
tabel auth_assigment : merupakan pemberian hak akses atau item pada id user yang di kehendaki.


2. pada yii2-basic , tambahakan component pada web.php di folder config

'components' => [
      //......component lainya......
        'authManager' => [
            'class' => 'yii\rbac\DbManager',
            'defaultRoles' => ['guest'],
        ],
       //......component lainya.......
    ],

3. Penggunaanya menggunakan listing berikut / kondisi / bolean berikut

Yii::$app->user->can('delete_data');    //delete_data adalah name dari salah satu value di tabel auth_item 

contoh :
           if ( Yii::$app->user->can('delete_data') ) {
....kode jika benar.... } else { ...kode jika salah.... }


ok sekian potongan arsip saya ...
mungkin pasti banyak yang kurang paham dengan artikel ini ....hehehe... untuk lebih jelas nya baca aja sendiri di sumber saya.  ok bye bye...

Sumber http://yii-02.blogspot.co.id

Comments

Post a Comment

Popular posts from this blog

Format tanggal dan jam pada bahasa pemrograman PHP (Date Format)

PHP (PHP: Hypertext Processor) Merupakan salah satu bahasa pemrograman yang sangat dikenal di kalangan programer. dan versi PHP paling terbaru pada tahuin postingan ini dibuat adalah versi 7.3. Artikel kali ini berkaitan dengan salah satu parameter pada fungsi yang sering digunakan untuk menampilkan maupun memformat output tanggal dan jam (waktu). beberapa fungsi yang sering digunakan diantaranya date() dan date_format(). Fungsi date() fungsi date() umumnya digunakan untuk mengambil waktu dari sytem / waktu server. fungsi date memiliki beberapa parameter diantaranya: $format: Digunakan untuk menentukan bentuk output waktu yang di inginkan. $timestamp:  (Opsional)  Nilai satuan waktu dalam UNIX sytem , bertipedata integer. Fungsi date_format() fungsi date_format() adalah fungsi untuk merubah bentuk output dari variable yang bertipedata date. fungsi ini biasanya didahului dengan fungsi date_create(),   yaitu salah satu fungsi php yang membuat...

Merubah Folder Publik Pada Laravel 5.8

Laravel merupakan salah satu framework yang saat ini sedang ramai digunakan, Laravel memiliki struktur direktori / folder yang cukup mudah dipahami bahkan kita bisa membuat custom folder sendiri sesuai keperluan. Kali ini saya ingin berbagi hal yang saya dapat setelah mempelajari laravel dan berkeliling dari situs ke situs. yaitu bagaimana merubah folder publik pada laravel (saya menggunakan laravel v5.8). Sebagai Catatan umumnya setiap webserver selalu mencari & membaca terlebih dahulu file index pada publik direktori (folder) pada website. dan pada laravel terletak pada folder public.  Berikut Contoh struktur folder pada laravel : / /app /bootstrap /config /database /public     /index.php /resources /routes /storage Namaun pada saat kita akan mengupload / deploy website kita ke server Hosting yang pada umumnya menggunakan nama folder public_html . tentu suatu hal yang mungkin membuat kita sedikit bingung untuk merubah nama folder dari project kita ka...

Cara Merubah Remote Git Repository Pada Local Repository

Pada artikel kali ini saya akan membahas tentang bagaimana cara merubah alamat repository pada git repository. Hal ini saya lakukan karena mempercepat dalam proses pengerjaan fitur fitur dasar seperti fitur login , register, reset password, dan lain lain. Untuk itu saya memiliki backup base project dan mengcopynya saat memulai sebuah project baru. pertama tama kita list dulu untuk memeriksa repository apa yang terpakai saat ini dengan mengetikkan perintah pada root project : $ git remote -v  dan akan tampil list repository aktif saat ini , sebagai contoh: origin https: //your.git.repo.example.com/user/repository.git (fetch) origin https: //your.git.repo.example.com/user/repository.git (push) untuk mengubah remote reposiroty di atas kita perlu mempersiapkan url atau remote repository yang baru , caranya copy / ambil alamat repository yang ingin di tuju , misalnya dari bitbucket : https: //yourbitbucketuser@bitbucket.org/username/example_target.git Setelah memiliki alamat repository ...