后台管理系统权限设计

       在开发后台管理系统的时候,例如OA系统,绩效系统,crm客户关系管理系统,都会存在用户权限划分的问题。该文章描述了角色的定义,以及权限的划分等含义。如下图所示:


  1. useruser_basicinfo:记录用户资料。
  2. role:角色表,记录公司各种角色,比如:管理员,销售,销售主管,开发,开发经理等
  3. permission:菜单表,记录系统的菜单栏目和页面上的按钮(例如:绩效管理,会议管理,新增绩效,预约会议),包括url和code等信息。
  4. role_permission:角色权限表,记录某个角色有多少个菜单。一个角色对应多个菜单,菜单不可重复。
  5. user_role:用户角色表,用户可拥有多个角色。

一.建表脚本

CREATE TABLE `permission` (
  `ID` int(11) NOT NULL AUTO_INCREMENT,
  `PID` int(11) DEFAULT NULL COMMENT '父节点名称',
  `NAME` varchar(50) COLLATE utf8_bin NOT NULL COMMENT '名称',
  `TYPE` varchar(20) COLLATE utf8_bin DEFAULT NULL COMMENT '类型:菜单or功能',
  `SORT` int(11) DEFAULT NULL COMMENT '排序',
  `URL` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '菜单URL',
  `PERM_CODE` varchar(50) COLLATE utf8_bin DEFAULT NULL COMMENT '菜单编码',
  `ICON` varchar(255) COLLATE utf8_bin DEFAULT NULL COMMENT '图标',
  `STATE` varchar(10) COLLATE utf8_bin DEFAULT NULL,
  `DESCRIPTION` varchar(200) COLLATE utf8_bin DEFAULT NULL,
  `CATEGORY_ID` bigint(20) DEFAULT NULL COMMENT '导航ID',
  `ICON_URL` varchar(200) COLLATE utf8_bin DEFAULT NULL COMMENT '图标的URL',
  `IS_VALID` tinyint(4) NOT NULL DEFAULT '0' COMMENT '0 有效  1 无效',
  `DOMAIN_ID` int(11) DEFAULT NULL COMMENT '来源系统ID',
  PRIMARY KEY (`ID`),
  KEY `idx_pid` (`PID`)
) ENGINE=InnoDB AUTO_INCREMENT=177 DEFAULT CHARSET=utf8 COLLATE=utf8_bin COMMENT='菜单';
CREATE TABLE &#
  • 3
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值