Re-implemented RBAC by following more closely to the original NIST RBAC model. Dropped yii\rbac\PhpManager.

This commit is contained in:
Qiang Xue
2014-04-12 16:55:50 -04:00
parent f7396fa024
commit 7bc52f32a4
20 changed files with 1033 additions and 1963 deletions

View File

@ -16,8 +16,10 @@ drop table if exists `auth_rule`;
create table `auth_rule`
(
`name` varchar(64) not null,
`data` text,
`name` varchar(64) not null,
`data` text,
`created_at` integer,
`updated_at` integer,
primary key (`name`)
) engine InnoDB;
@ -28,6 +30,8 @@ create table `auth_item`
`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`)
@ -46,9 +50,7 @@ create table `auth_assignment`
(
`item_name` varchar(64) not null,
`user_id` varchar(64) not null,
`rule_name` varchar(64),
`data` text,
`created_at` integer,
primary key (`item_name`, `user_id`),
foreign key (`item_name`) references `auth_item` (`name`) on delete cascade on update cascade,
foreign key (`rule_name`) references `auth_rule` (`name`) on delete set null on update cascade
) engine InnoDB;
foreign key (`item_name`) references `auth_item` (`name`) on delete cascade on update cascade
) engine InnoDB;