基于角色的访问控制(Role-Based Access Control)作为传统访问控制(自主访问,强制访问)的有前景的代替受到广泛的关注。在RBAC中,权限与角色相关联,用户通过成为适当角色的成员而得到这些角色的权限。这就极大地简化了权限的管理。在一个组织中,角色是为了完成各种工作而创造,用户则依据它的责任和资格来被指派相应的角色,用户可以很容易地从一个角色被指派到另一个角色。角色可依新的需求和系统的合并而赋予新的权限,而权限也可根据需要而从某角色中回收。角色与角色的关系可以建立起来以囊括更广泛的客观情况。
传统权限划分:为具体的员工分配具体的权限
新来的员工:把具体的权限依次赋予
辞职的员工:把具体权限通过点击复选框(不选中)依次取消
老员工调整权限:通过点击复选框把具体权限给设置或取消掉
以上权限操作非常具体,非常繁琐,还由于没有标准,导致权限会不断变化。
新的流行管理方案:
对角色进行权限划分
员工直接面对角色、角色直接面对具体操作权限
新员工入职只需要确定其角色,他的权限就由角色来确定
员工-------------角色--------------操作权限
现在权限分配非常容易,也非常科学
新员工入职公司只需要把其角色划分好,它的权限有角色确定
表设计
一共需要三种表:用户表,权限表,角色表。
--用户表
CREATE TABLE `sw_manager` (
`mg_id` int(11) NOT NULL AUTO_INCREMENT,
`mg_name` varchar(32) NOT NULL,
`mg_pwd` varchar(32) NOT NULL,
`mg_time` int(10) unsigned NOT NULL COMMENT '时间',
`mg_role_id` tinyint(3) unsigned NOT NULL DEFAULT '0' COMMENT '角色id',
PRIMARY KEY (`mg_id`)
) ENGINE=InnoDB AUTO_INCREMENT&