zoukankan      html  css  js  c++  java
  • 通用权限模块 权限粒度精确到菜单上的按钮

    flowpackage

    流量包充值项目
    作者:王道健
    私有项目
    java项目  
    架构:
    spring-4.2.6+springmvc-4.2.6+mybatis+mysql+jsp 
    参考地址: http://47.94.95.211
    超级管理员 账号  admin  密码 123456
    普通管理员 账号 wangdaojian 密码 123456

    这是我做得一套流量充值系统,作为系统的唯一设计和开发人员,务必把系统设计的完善,占用内存少,逻辑清晰,并且要让未来的开发人员,尽可能的改动最少的代码,来实现尽可能多的功能。

    目前框架已基本完成
    其中包括:
    日志模块  slf4j+log4j2
    登录拦截器模块 
    参数校验拦截器模块
    单客户端登陆

    其中最重要并且最通用的权限模块,表格已全部设计完. 后台代码也基本开发完成。

    权限粒度控制到菜单页面的按钮, 分模块,每个模块有二级菜单,
    这套通用权限系统足以应对大部分的后台管理系统

    表格设计参考了如下
    http://www.cnblogs.com/leoxie2011/archive/2011/05/19/2050626.html

    并在此基础上进行了拓展

    设计表,和数据路径位于
    flowpackage/src/main/webapp/docs/sql/ 
    前端使用国内开源的 H-ui-admin 界面清晰友好
    地址: http://www.h-ui.net/index.shtml 
    我把这套通用权限系统开源出来, 希望更多的人可以使用和学习.

    页面样式

    表结构图

    CREATE TABLE `cf_admin` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `login_name` varchar(32) DEFAULT NULL COMMENT '账号',
    `password` varchar(48) DEFAULT NULL COMMENT '密码',
    `real_name` varchar(32) DEFAULT NULL COMMENT '真实姓名',
    `sex` char(1) DEFAULT '1' COMMENT '性别 1男 2女',
    `mobile` varchar(16) DEFAULT NULL COMMENT '手机号',
    `email` varchar(32) DEFAULT NULL COMMENT '邮件',
    `create_user_name` varchar(32) DEFAULT NULL COMMENT '创建人',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `modify_name` varchar(32) DEFAULT NULL COMMENT '修改人名字',
    `update_time` datetime DEFAULT NULL COMMENT '更改时间',
    `first_login_time` datetime DEFAULT NULL COMMENT '第一次登录时间',
    `last_login_time` datetime DEFAULT NULL COMMENT '最后一次登录时间',
    `available_flag` tinyint(1) DEFAULT '1' COMMENT '是否可用表 1可用 0 不可用',
    `is_super` tinyint(1) DEFAULT '0' COMMENT '是否为超级管理员',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='管理员表';

    CREATE TABLE `cf_adminRole` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `admin_id` int(11) DEFAULT NULL COMMENT '管理员id',
    `role_id` int(11) DEFAULT NULL COMMENT '角色id',
    PRIMARY KEY (`id`),
    KEY `FK_Reference_1` (`role_id`),
    KEY `FK_Reference_2` (`admin_id`),
    CONSTRAINT `FK_Reference_1` FOREIGN KEY (`role_id`) REFERENCES `cf_role` (`id`),
    CONSTRAINT `FK_Reference_2` FOREIGN KEY (`admin_id`) REFERENCES `cf_admin` (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='管理员角色关联表';

    CREATE TABLE `cf_privilege` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `master_type` tinyint(4) DEFAULT NULL COMMENT '权限主体 1 角色 2 用户 ',
    `master_id` int(11) DEFAULT NULL COMMENT '权限主体id',
    `access_type` tinyint(4) DEFAULT NULL COMMENT '权限访问类型 1 菜单 2 按钮 3 模块',
    `access_no` smallint(11) DEFAULT NULL COMMENT '权限访问no menuNo或者buttonNo或者applicationCode',
    `is_operatation` tinyint(1) DEFAULT NULL COMMENT '禁止使用 默认false',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=7 DEFAULT CHARSET=utf8 COMMENT='管理员权限表';

    CREATE TABLE `cf_role` (
    `id` int(11) NOT NULL AUTO_INCREMENT,
    `role_name` varchar(32) DEFAULT NULL COMMENT '角色名称',
    `role_desc` varchar(256) DEFAULT NULL COMMENT '角色描述',
    `create_name` varchar(32) DEFAULT NULL COMMENT '创建人',
    `create_time` datetime DEFAULT NULL COMMENT '创建时间',
    `modify_name` varchar(32) DEFAULT NULL COMMENT '修改人',
    `modify_time` datetime DEFAULT NULL COMMENT '修改时间',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8 COMMENT='角色表';

    CREATE TABLE `sys_application` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `application_code` smallint(6) DEFAULT NULL COMMENT '模块code',
    `application_name` varchar(32) DEFAULT NULL COMMENT '模块名称',
    `application_icon` varchar(32) DEFAULT 'Hui-iconfont-goods' COMMENT '模块icon',
    `application_desc` varchar(256) DEFAULT NULL COMMENT '模块描述',
    `application_url` varchar(256) DEFAULT NULL COMMENT '模块url',
    PRIMARY KEY (`id`),
    UNIQUE KEY `application_code` (`application_code`)
    ) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8 COMMENT='系统模块';

    CREATE TABLE `sys_button` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `btn_no` smallint(6) DEFAULT NULL COMMENT '按钮编码',
    `btn_name` varchar(32) DEFAULT NULL COMMENT '按钮名称',
    `btn_class` varchar(32) DEFAULT NULL COMMENT '按钮类型',
    `btn_icon` varchar(32) DEFAULT NULL COMMENT '按钮icon',
    `menu_no` int(11) DEFAULT NULL COMMENT '所属菜单id',
    `init_status` tinyint(1) DEFAULT NULL COMMENT '初始化状态 1 可用 0 不可用',
    PRIMARY KEY (`id`)
    ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='系统按钮表';

    CREATE TABLE `sys_menu` (
    `id` int(11) NOT NULL AUTO_INCREMENT COMMENT '主键',
    `menu_no` smallint(6) DEFAULT NULL COMMENT '菜单编码',
    `application_code` smallint(6) DEFAULT NULL COMMENT '模块code',
    `menu_parent_no` smallint(6) DEFAULT NULL COMMENT '父菜单编码',
    `menu_order` smallint(6) DEFAULT NULL COMMENT '菜单顺序',
    `menu_name` varchar(32) DEFAULT NULL COMMENT '菜单名称',
    `menu_url` varchar(256) DEFAULT NULL COMMENT '菜单url',
    `menu_icon` varchar(256) DEFAULT NULL COMMENT '菜单icon',
    `is_visible` tinyint(1) DEFAULT NULL COMMENT '是否可用 1可用 0不可用',
    `is_leaf` tinyint(1) DEFAULT NULL,
    PRIMARY KEY (`id`),
    UNIQUE KEY `menu_no` (`menu_no`)
    ) ENGINE=InnoDB AUTO_INCREMENT=13 DEFAULT CHARSET=utf8 COMMENT='系统菜单表';

     



    请勿用于商业行为
    尊重原创,转载请注明
    作者:王道健
    github地址:https://github.com/wangdaojian/flowpackage.git
    qq: 419550295

  • 相关阅读:
    k8s资源清单创建pod
    Nginx的应用之动静分离
    Nginx的应用之虚拟主机
    Nginx的应用之安装配置
    k8s 基于NFS部署storageclass pv自动供给
    Helm入门
    k8s Pod的自动水平伸缩(HPA)
    k8s资源指标API及metrics-server资源监控
    k8s的资源限制及资源请求
    k8s的高级调度方式
  • 原文地址:https://www.cnblogs.com/daojian/p/7071854.html
Copyright © 2011-2022 走看看