五個表:
管理員表: z_admin
create table `z_admin` (
`id` smallint(5) unsigned not null auto_increment comment '管理員id',
`username` varchar(50) collate utf8mb4_unicode_ci not null comment '使用者名稱',
`password` varchar(255) collate utf8mb4_unicode_ci not null comment '密碼',
`created_ip` int(11) unsigned not null comment '建立該管理員的時候的ip',
`created_at` int(11) unsigned not null comment '建立時間',
`is_used` tinyint(1) unsigned not null default '0' comment '是否啟用 0表示啟用 1表示禁用',
primary key (`id`),
unique key `username` (`username`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='管理員表';
規則表: z_rule
create table `z_rule` (
`id` smallint(5) unsigned not null auto_increment comment '規則id',
`rule_url` varchar(255) collate utf8mb4_unicode_ci not null default '' comment '驗證規則',
`parent_id` int(11) unsigned not null comment '父id',
`rule_desc` varchar(255) collate utf8mb4_unicode_ci not null default '' comment '規則描述',
primary key (`id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='規則表';
角色表: z_role
create table `z_role` (
`id` int(11) unsigned not null auto_increment comment '角色id',
`role_name` varchar(30) collate utf8mb4_unicode_ci not null comment '角色名',
`role_desc` varchar(255) collate utf8mb4_unicode_ci not null comment '角色描述',
`created_at` int(11) unsigned not null comment '建立時間',
primary key (`id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='角色表';
管理員角色關係表: z_admin_role
create table `z_admin_role` (
`id` int(11) unsigned not null auto_increment,
`admin_id` smallint(5) unsigned not null comment '管理員id',
`role_id` smallint(5) unsigned not null comment '角色id',
primary key (`id`),
unique key `admin_role` (`admin_id`,`role_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='管理員與角色表關係表';
角色規則關係表: z_role_rule
create table `z_role_rule` (
`id` int(11) unsigned not null auto_increment,
`role_id` smallint(5) unsigned not null comment '角色id',
`rule_id` smallint(5) unsigned not null comment '規則id',
primary key (`id`),
unique key `role_rule` (`role_id`,`rule_id`)
) engine=innodb default charset=utf8mb4 collate=utf8mb4_unicode_ci comment='角色規則表';
關係:
乙個管理員可以有多個身份(角色),乙個身份(角色)可以有多個管理員,所以 管理員與角色是多對多關係。
乙個身份(角色)可以擁有多個規則,乙個規則可以被多個身份(角色),所以角色和規則是多對多關係。
RBAC許可權管理(基於角色的訪問控制)
一 概述 role based access control,基於角色的訪問控制,就是使用者通過角色與許可權進行關聯。乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。如圖1 圖1...
RBAC 基於角色的訪問控制
rbac role based access control,基於角色的訪問控制 就是使用者通過角色與許可權進行關聯。簡單地說,乙個使用者擁有若干角色,每乙個角色擁有若干許可權。這樣,就構造成 使用者 角色 許可權 的授權模型。在這種模型中,使用者與角色之間,角色與許可權之間,一般者是多對多的關係。...
RBAC 基於角色的訪問控制
rbac 是基於角色的訪問控制 role based access control 在 rbac 中,許可權與角色相關聯,使用者通過成為適當角色的成員而得到這些角色的許可權。這就極大地簡化了許可權的管理。這樣管理都是層級相互依賴的,許可權賦予給角色,而把角色又賦予使用者,這樣的許可權設計很清楚,管理...