# hyena **Repository Path**: jason-dev/hyena ## Basic Information - **Project Name**: hyena - **Description**: 基于SpringBoot2.0后台管理系统脚手架,简洁高效,减少过渡封装,核心技术采用Spring、MyBatis、Shiro没有任何其它重度依赖,开箱即用。 - **Primary Language**: Java - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 8 - **Created**: 2018-10-24 - **Last Updated**: 2020-12-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # hyena #### 项目介绍 基于hplus和inspinia两套后台系统模板开发。 http://www.zi-han.net/theme/hplus http://cn.inspinia.cn Hyena是在SpringBoot基础上搭建的一个Java基础开发平台,MyBatis为数据访问层,Shiro为权限授权层,Ehcahe对常用数据进行缓存。 同时支持java与kotlin双语言开发。 Hyena内置后台管理系统的基础功能和高效的代码生成工具, 包括:系统权限组件、数据权限组件、数据字典组件、核心工具组件、 视图操作组件、代码生成等。前端界面风格采用了结构简单、性能优良、页面美观大气的Bootstrap页面展示框架。 采用分层设计、双重验证、提交数据安全编码、密码加密、访问验证、数据权限验证。使用Gradle做项目管理,提高项目的易开发性、扩展性。 Hyean提供了常用工具进行封装,包括日志工具、缓存工具、服务器端验证、数据字典、当前组织机构数据 (用户、机构、区域) 以及其它常用小工具等。另外还提供一个强大的在线 代码生成 工具。 #### 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 部门管理:配置系统组织机构,树结构展现支持数据权限。 岗位管理:配置系统用户所属担任职务。 菜单管理:配置系统菜单,操作权限,按钮权限标识等。 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 参数管理:对系统动态配置常用参数。 通知公告:系统通知公告信息发布维护。 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 登录日志:系统登录日志记录查询包含登录异常。 在线用户:当前系统中活跃用户状态监控。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关的api接口文档。 在线构建器:拖动表单元素生成相应的HTML代码。 连接池监视:监视当期系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 #### 技术选型 1、后端 核心框架:Spring Boot 安全框架:Apache Shiro 模板引擎:Thymeleaf 持久层框架:MyBatis 数据库连接池:Alibaba Druid 缓存框架:Ehcache 日志管理:SLF4J 工具类:Apache Commons、Jackson 2、前端 JS框架:jQuery 客户端验证:JQuery Validation 富文本在线编辑:summernote 数据表格:bootstrapTable 弹出层:layer 树结构控件:jsTree 3、平台 服务器中间件:SpringBoot内置Tomcat 数据库支持:目前仅提供MySql数据库的支持,但不限于数据库 开发环境:Java、idea Java EE 、gradle 、Git 部署环境:jenkins、docker #### 安全考虑 开发语言:系统采用Java 语言开发,具有卓越的通用性、高效性、平台移植性和安全性。 分层设计:(数据库层,数据访问层,业务逻辑层,展示层)层次清楚,低耦合, 各层必须通过接口才能接入并进行参数校验(如:在展示层不可直接操作数据库),保证数据操作的安全。 双重验证:用户表单提交双验证:包括服务器端验证及客户端验证,防止用户通过浏览器恶意修改 (如不可写文本域、隐藏变量篡改、上传非法文件等),跳过客户端验证操作数据库。 安全编码:用户表单提交所有数据,在服务器端都进行安全编码,防止用户提交非法脚本及SQL注入获取敏感数据等,确保数据安全。 密码加密:登录用户密码进行SHA256散列加密,此加密方法是不可逆的。保证密文泄露后的安全问题。 强制访问:系统对所有管理端链接都进行用户身份权限验证,防止用户直接填写url进行访问。 #### 项目部署 1. hyena/sql/hyena.sql 初始化到数据库。 2. application-dev.yml 在这个文件中更改数据库连接 3. 安装kotlin 版本不低于 1.2.41 4. idea版本不低于2017,并选中 Enable annotation processing 选项 #### 交流学习 1. 2.