源码简介
基于SpringBoot+shiro+ztree的权限管理后台
项目说明
-
1、系统管理后台基本框架SPPanAdmin,包括用户管理,角色管理,资源链接管理模块,可以动态分配权限和角色。
-
2、使用springboot、springdata jpa、shiro等服务端技术,使用freemarker模版渲染页面。
-
3、系统中对springdata的查询条件Specification做了简单的封装,更加方便查询条件的灵活使用。
-
4、前端技术:使用Hadmin系统模版,数据表格使用bootstrap table插件,弹窗使用layer插件,日期选择使用laydate插件。表单验证使用jQuery validate插件等等。
-
5、系统部署:
-
1)使用mysql数据库,先建立一个空数据库base,最好编码使用utf-8或者utf-8mb4字符集,不然会乱码。 -
2)把application.properties中的数据库连接信息修改成自己数据库的连接信息。 -
3)修改spring.jpa.hibernate.ddl-auto为create,目的是让系统自动建表同时初始化相关集成数据。如果不需要自动初始化数据,可以删除resource目录下的import.sql文件。
-
-
6、系统启动后,访问:
127.0.0.1/admin/
会自动跳转到后台登录页面。 -
7、初始用户名和密码为:
admin/111111
。
代码结构图
SQL脚本
-- 资源表
CREATE TABLE `tb_resource` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
`icon` varchar(255) DEFAULT NULL,
`is_hide` int(11) DEFAULT NULL,
`level` int(11) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`sort` int(11) DEFAULT NULL,
`source_key` varchar(255) DEFAULT NULL,
`source_url` varchar(255) DEFAULT NULL,
`type` int(11) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`parent_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`),
KEY `FKf5ra2gn0xedeida2op8097sr5` (`parent_id`),
CONSTRAINT `FKf5ra2gn0xedeida2op8097sr5` FOREIGN KEY (`parent_id`) REFERENCES `tb_resource` (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=15 DEFAULT CHARSET=utf8;
-- 角色表
CREATE TABLE `tb_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`create_time` datetime DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
`name` varchar(255) DEFAULT NULL,
`role_key` varchar(255) DEFAULT NULL,
`status` int(11) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- 角色资源中间表
CREATE TABLE `tb_role_resource` (
`role_id` int(11) NOT NULL,
`resource_id` int(11) NOT NULL,
PRIMARY KEY (`role_id`,`resource_id`),
KEY `FK868kc8iic48ilv5npa80ut6qo` (`resource_id`),
CONSTRAINT `FK7ffc7h6obqxflhj1aq1mk20jk` FOREIGN KEY (`role_id`) REFERENCES `tb_role` (`id`),
CONSTRAINT `FK868kc8iic48ilv5npa80ut6qo` FOREIGN KEY (`resource_id`) REFERENCES `tb_resource` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
-- 用户表
CREATE TABLE `tb_user` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`address` varchar(255) DEFAULT NULL,
`birthday` datetime DEFAULT NULL,
`create_time` datetime DEFAULT NULL,
`delete_status` int(11) DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
`email` varchar(255) DEFAULT NULL,
`locked` int(11) DEFAULT NULL,
`nick_name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`sex` int(11) DEFAULT NULL,
`telephone` varchar(255) DEFAULT NULL,
`update_time` datetime DEFAULT NULL,
`user_name` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
-- 用户角色中间表
CREATE TABLE `tb_user_role` (
`user_id` int(11) NOT NULL,
`role_id` int(11) NOT NULL,
PRIMARY KEY (`user_id`,`role_id`),
KEY `FKea2ootw6b6bb0xt3ptl28bymv` (`role_id`),
CONSTRAINT `FK7vn3h53d0tqdimm8cp45gc0kl` FOREIGN KEY (`user_id`) REFERENCES `tb_user` (`id`),
CONSTRAINT `FKea2ootw6b6bb0xt3ptl28bymv` FOREIGN KEY (`role_id`) REFERENCES `tb_role` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;