通用權限模塊 權限粒度精確到菜單上的按鈕

flowpackage

流量包充值項目
做者:王道健
私有項目
java項目  
架構:
spring-4.2.6+springmvc-4.2.6+mybatis+mysql+jsp 
參考地址: http://47.94.95.211
超級管理員 帳號  admin  密碼 123456
普通管理員 帳號 wangdaojian 密碼 123456html

這是我作得一套流量充值系統,做爲系統的惟一設計和開發人員,務必把系統設計的完善,佔用內存少,邏輯清晰,而且要讓將來的開發人員,儘量的改動最少的代碼,來實現儘量多的功能。前端

目前框架已基本完成
其中包括:
日誌模塊  slf4j+log4j2
登陸攔截器模塊 
參數校驗攔截器模塊
單客戶端登錄java

其中最重要而且最通用的權限模塊,表格已所有設計完. 後臺代碼也基本開發完成。mysql

權限粒度控制到菜單頁面的按鈕, 分模塊,每一個模塊有二級菜單,
這套通用權限系統足以應對大部分的後臺管理系統

表格設計參考了以下
http://www.cnblogs.com/leoxie2011/archive/2011/05/19/2050626.htmlgit

並在此基礎上進行了拓展github

設計表,和數據路徑位於
flowpackage/src/main/webapp/docs/sql/ 
前端使用國內開源的 H-ui-admin 界面清晰友好
地址: http://www.h-ui.net/index.shtml 
我把這套通用權限系統開源出來, 但願更多的人能夠使用和學習.

web

頁面樣式spring

 

表結構圖sql

 

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='管理員表';mybatis

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.gitqq: 419550295

相關文章
相關標籤/搜索