简单RBAC数据库创建

1众所周知,RBAC是现社会管理系统最为普遍的开发任务,接下来为大家详细介绍其中最为基础的数据库链表建立


   

    a. 用户表

       CREATE TABLE `user` (
         `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
         `name` varchar(20) NOT NULL DEFAULT '' COMMENT '姓名',
         `email` varchar(30) NOT NULL DEFAULT '' COMMENT '邮箱',
         `is_admin` tinyint(1) NOT NULL DEFAULT '0' COMMENT '是否是超级管理员 1表示是 0 表示不是',
         `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效',
         `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间',
         `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
         PRIMARY KEY (`id`),
         KEY `idx_email` (`email`)
       ) ENGINE=InnoDB  DEFAULT CHARSET=utf8 COMMENT='用户表';


  b.角色表

     CREATE TABLE `role` (
         `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
         `name` varchar(50) NOT NULL DEFAULT '' COMMENT '角色名称',
         `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效',
        `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间',
         `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
          PRIMARY KEY (`id`)
          ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色表';


  c.用户角色表

      CREATE TABLE `user_role` (
        `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
        `uid` int(11) NOT NULL DEFAULT '0' COMMENT '用户id',
        `role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色ID',
        `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
         PRIMARY KEY (`id`),
         KEY `idx_uid` (`uid`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='用户角色表';


  d.权限表

      CREATE TABLE `access` (
        `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
        `title` varchar(50) NOT NULL DEFAULT '' COMMENT '权限名称',
        `urls` varchar(1000) NOT NULL DEFAULT '' COMMENT 'json 数组',
        `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '状态 1:有效 0:无效',
        `updated_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '最后一次更新时间',
        `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
         PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限详情表';


  e.角色权限表

      CREATE TABLE `role_access` (
        `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
        `role_id` int(11) NOT NULL DEFAULT '0' COMMENT '角色id',
        `access_id` int(11) NOT NULL DEFAULT '0' COMMENT '权限id',
        `created_time` timestamp NOT NULL DEFAULT '0000-00-00 00:00:00' COMMENT '插入时间',
         PRIMARY KEY (`id`),
         KEY `idx_role_id` (`role_id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='角色权限表';

     f.RBAC数据库览图


2:此五张表在开发简单的RBAC练习中完全可以使用。



3:更多文档可以在github.com/apanly/rbac中下载。





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值