zoukankan      html  css  js  c++  java
  • 权限设计

     数据表

    CREATE TABLE `wy_auth_group` (
    `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
    `title` char(100) NOT NULL DEFAULT '',
    `status` tinyint(1) NOT NULL DEFAULT '1',
    `rules` text NOT NULL,
    PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
    
     
    
    CREATE TABLE `wy_auth_group_access` (
    `uid` mediumint(8) unsigned NOT NULL,
    `group_id` mediumint(8) unsigned NOT NULL,
    UNIQUE KEY `uid_group_id` (`uid`,`group_id`),
    KEY `uid` (`uid`),
    KEY `group_id` (`group_id`)
    ) ENGINE=MyISAM DEFAULT CHA
    
    
    
    CREATE TABLE `wy_auth_rule` (
    `id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
    `name` char(80) NOT NULL DEFAULT '',
    `title` char(20) NOT NULL DEFAULT '',
    `type` tinyint(1) NOT NULL DEFAULT '1',
    `status` tinyint(1) NOT NULL DEFAULT '1',
    `condition` char(100) NOT NULL DEFAULT '',
    PRIMARY KEY (`id`),
    UNIQUE KEY `name` (`name`)
    ) ENGINE=MyISAM AUTO_INCREMENT=117 DEFAULT CHARSET=utf8;
    View Code
    wy_auth_group   角色(组)表
    id
    title                   角色名称
    status
    rules                   角色组有哪些规则(,将规则表的id分隔  其实减一个一对多的表更好)
       
    
    wy_auth_group_access
    uid                     用户id
    group_id                角色组id
    
    wy_auth_rule   规则表
    id
    name          Member/index   规则标志
    title
    type
    status
    condition

    权限表设计

    SET FOREIGN_KEY_CHECKS=0;
    
    -- ----------------------------
    -- Table structure for tp_action_log
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_action_log`;
    CREATE TABLE `tp_action_log` (
      `id` int(10) unsigned NOT NULL AUTO_INCREMENT COMMENT '主键',
      `user_id` int(10) NOT NULL DEFAULT '0' COMMENT '执行用户id',
      `action_ip` bigint(20) NOT NULL COMMENT '执行行为者ip',
      `log` longtext NOT NULL COMMENT '日志备注',
      `log_url` varchar(255) NOT NULL COMMENT '执行的URL',
      `create_time` int(10) unsigned NOT NULL DEFAULT '0' COMMENT '执行行为的时间',
      `username` varchar(255) NOT NULL COMMENT '执行者',
      `title` varchar(255) NOT NULL COMMENT '标题',
      PRIMARY KEY (`id`),
      KEY `id` (`id`) USING BTREE
    ) ENGINE=MyISAM AUTO_INCREMENT=110 DEFAULT CHARSET=utf8 ROW_FORMAT=FIXED COMMENT='行为日志表';
    
    -- ----------------------------
    -- Table structure for tp_admin
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_admin`;
    CREATE TABLE `tp_admin` (
      `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '管理员自增ID',
      `user_name` varchar(255) DEFAULT NULL COMMENT '用户名',
      `user_password` varchar(255) DEFAULT NULL COMMENT '管理员的密码',
      `user_nicename` varchar(255) DEFAULT NULL COMMENT '管理员的简称',
      `user_status` int(11) DEFAULT '1' COMMENT '用户状态 0:禁用; 1:正常 ;',
      `user_email` varchar(255) DEFAULT '' COMMENT '邮箱',
      `last_login_ip` varchar(16) DEFAULT NULL COMMENT '最后登录ip',
      `last_login_time` datetime DEFAULT NULL COMMENT '最后登录时间',
      `create_time` datetime DEFAULT NULL COMMENT '注册时间',
      `role` varchar(255) DEFAULT NULL COMMENT '角色ID',
      PRIMARY KEY (`id`)
    ) ENGINE=MyISAM AUTO_INCREMENT=27 DEFAULT CHARSET=utf8 COMMENT='后台管理员表';
    
    -- ----------------------------
    -- Table structure for tp_auth_access
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_auth_access`;
    CREATE TABLE `tp_auth_access` (
      `role_id` mediumint(8) unsigned NOT NULL COMMENT '角色',
      `rule_name` varchar(255) NOT NULL COMMENT '规则唯一英文标识,全小写',
      `type` varchar(30) DEFAULT NULL COMMENT '权限规则分类,请加应用前缀,如admin_',
      `menu_id` int(11) DEFAULT NULL COMMENT '后台菜单ID',
      KEY `role_id` (`role_id`),
      KEY `rule_name` (`rule_name`) USING BTREE
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='权限授权表';
    
    -- ----------------------------
    -- Table structure for tp_auth_role
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_auth_role`;
    CREATE TABLE `tp_auth_role` (
      `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
      `name` varchar(20) NOT NULL COMMENT '角色名称',
      `pid` smallint(6) DEFAULT '0' COMMENT '父角色ID',
      `status` tinyint(1) unsigned DEFAULT NULL COMMENT '状态',
      `remark` varchar(255) DEFAULT NULL COMMENT '备注',
      `create_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '创建时间',
      `update_time` int(11) unsigned NOT NULL DEFAULT '0' COMMENT '更新时间',
      `listorder` int(3) NOT NULL DEFAULT '0' COMMENT '排序字段',
      PRIMARY KEY (`id`),
      KEY `parentId` (`pid`),
      KEY `status` (`status`)
    ) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 COMMENT='角色表';
    
    -- ----------------------------
    -- Table structure for tp_auth_role_user
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_auth_role_user`;
    CREATE TABLE `tp_auth_role_user` (
      `role_id` int(11) unsigned DEFAULT '0' COMMENT '角色 id',
      `user_id` int(11) DEFAULT '0' COMMENT '用户id',
      KEY `group_id` (`role_id`),
      KEY `user_id` (`user_id`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='用户角色对应表';
    
    -- ----------------------------
    -- Table structure for tp_auth_rule
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_auth_rule`;
    CREATE TABLE `tp_auth_rule` (
      `menu_id` int(11) NOT NULL COMMENT '后台菜单 ID',
      `module` varchar(20) NOT NULL COMMENT '规则所属module',
      `type` varchar(30) NOT NULL DEFAULT '1' COMMENT '权限规则分类,请加应用前缀,如admin_',
      `name` varchar(255) NOT NULL DEFAULT '' COMMENT '规则唯一英文标识,全小写',
      `url_param` varchar(255) DEFAULT NULL COMMENT '额外url参数',
      `title` varchar(20) NOT NULL DEFAULT '' COMMENT '规则中文描述',
      `status` tinyint(1) NOT NULL DEFAULT '1' COMMENT '是否有效(0:无效,1:有效)',
      `rule_param` varchar(300) NOT NULL DEFAULT '' COMMENT '规则附加条件',
      `nav_id` int(11) DEFAULT '0' COMMENT 'nav id',
      PRIMARY KEY (`menu_id`),
      KEY `module` (`module`,`status`,`type`)
    ) ENGINE=MyISAM DEFAULT CHARSET=utf8 COMMENT='权限规则表';
    
    -- ----------------------------
    -- Table structure for tp_menu
    -- ----------------------------
    DROP TABLE IF EXISTS `tp_menu`;
    CREATE TABLE `tp_menu` (
      `id` smallint(6) unsigned NOT NULL AUTO_INCREMENT COMMENT '自增ID',
      `parent_id` smallint(6) unsigned NOT NULL DEFAULT '0' COMMENT '父级ID',
      `app` char(20) NOT NULL COMMENT '应用名称app',
      `model` char(20) NOT NULL COMMENT '控制器',
      `action` char(20) NOT NULL COMMENT '操作名称',
      `url_param` char(50) NOT NULL COMMENT 'url参数',
      `type` tinyint(1) NOT NULL DEFAULT '0' COMMENT '菜单类型  1:权限认证+菜单;0:只作为菜单',
      `status` tinyint(1) unsigned NOT NULL DEFAULT '0' COMMENT '状态,1显示,0不显示',
      `name` varchar(50) NOT NULL COMMENT '菜单名称',
      `icon` varchar(50) NOT NULL COMMENT '菜单图标',
      `remark` varchar(255) NOT NULL COMMENT '备注',
      `list_order` smallint(6) unsigned NOT NULL DEFAULT '0' COMMENT '排序ID',
      `rule_param` varchar(255) NOT NULL COMMENT '验证规则',
      `nav_id` int(11) DEFAULT '0' COMMENT 'nav ID ',
      `request` varchar(255) NOT NULL COMMENT '请求方式(日志生成)',
      `log_rule` varchar(255) NOT NULL COMMENT '日志规则',
      PRIMARY KEY (`id`),
      KEY `status` (`status`),
      KEY `model` (`model`),
      KEY `parent_id` (`parent_id`) USING BTREE
    ) ENGINE=MyISAM AUTO_INCREMENT=23 DEFAULT CHARSET=utf8 COMMENT='后台菜单表';
    View Code
    admin   
    userid 用户自增id

    tp_auth_role 角色表 id 角色自增id name 角色名称 pid 父角色ID status 状态 remark 备注 tp_auth_role_user 用户角色对应表 role_id 角色 id user_id 用户id
    tp_auth_access 权限授权表(连接菜单与角色) role_id 角色 rule_name 规则唯一英文标识全小写 type 权限规则分类,请加应用前缀如admin_ menu_id 后台菜单ID
    (这两个是多对一关系 tp的)
    tp_auth_rule 权限规则表 menu_id 后台菜单 ID(一个菜单对应一个规则) module 规则所属module type 权限规则分类,请加应用前缀如admin_ name 规则唯一英文标识全小写 url_param 额外url参数 title 规则中文描述 status 是否有效(0:无效1:有效) rule_param 规则附加条件 nav_id nav id
    
    tp_menu               后台菜单表
      id                   自增ID
      parent_id          父级ID
      app                 应用名称app
      model             控制器
      action             操作名称
      url_param         url参数
      type                 菜单类型  1:权限认证+菜单;0:只作为菜单
      status             状态,1显示,0不显示
      name                 菜单名称
      icon                 菜单图标
      remark             备注
      list_order         排序ID
      rule_param         验证规则
      nav_id int        nav ID 
      request             请求方式(日志生成)
      log_rule             日志规则
  • 相关阅读:
    JavaSE学习笔记(二十六)—— IO流概述&字节流
    JavaSE学习笔记(二十五)—— File类
    JavaSE学习笔记(二十四)—— 异常
    JavaSE学习笔记(二十三)—— Collections工具类
    JavaSE学习笔记(二十二)—— Map集合
    JavaSE学习笔记(二十一)—— Set集合
    Gin框架
    Go gRPC Hello World
    Go
    Gin框架
  • 原文地址:https://www.cnblogs.com/lichihua/p/11208546.html
Copyright © 2011-2022 走看看