zoukankan      html  css  js  c++  java
  • niaobulashi-一个基于springboot shrio的权限管理系统

    github项目地址:https://github.com/niaobulashi/niaobulashi

    在线演示

    PS:在线功能肯定不全的,建议大家clone到本地运行哦~
    本地登录名和密码:admin/admin

    欢迎大家star,fork,一起探讨学习

    项目说明

    • 采用SpringBoot、MyBatis、Shiro框架,开发的一套权限系统,极低门槛,拿来即用。设计之初,就非常注重安全性,为企业系统保驾护航,让一切都变得如此简单。
    • 提供了代码生成器,只需编写30%左右代码,其余的代码交给系统自动生成,可快速完成开发任务
    • 支持MySQL、Oracle、SQL Server、PostgreSQL等主流数据库

    项目结构

    niaobulashi
    ├─niaobulashi-admin      管理后台
    │    ├─db  数据库SQL脚本
    │    │ 
    │    ├─modules  模块
    │    │    ├─job 定时任务
    │    │    ├─oss 文件存储
    │    │    └─sys 系统管理(核心)
    │    │ 
    │    └─resources 
    │        ├─mapper   MyBatis文件
    │        ├─statics  静态资源
    │        ├─template 系统页面
    │        │    ├─modules      模块页面
    │        │    ├─index.html   AdminLTE主题风格(默认主题)
    │        │    └─index1.html  主题风格
    │        └─application.yml   全局配置文件
    ├─niaobulashi-api        API服务
    ├─niaobulashi-common     公共模块
    ├─niaobulashi-dynamic-datasource     多数据源
    ├─niaobulashi-generator  代码生成器
    │             └─resources 
    │                   ├─mapper   MyBatis文件
    │                   ├─template 代码生成器模板(可增加或修改相应模板)
    │                   ├─application.yml    全局配置文件
    │                   └─generator.properties   代码生成器,配置文件
    │

    项目模块

    • niaobulashi-common为公共模块,其他模块以jar包的形式引入进去,主要提供些工具类,以及renren-admin、renren-api模块公共的entity、mapper、dao、service服务,防止一个功能重复多次编写代码。
    • niaobulashi-admin为后台模块,也是系统的核心,用来开发后台管理系统,可以打包成jar,部署到服务器上运行,或者打包成war,放到Tomcat8.5+容器里运行。
    • niaobulashi-api为接口模块,主要是简化APP开发,如:为微信小程序、IOS、Android提供接口,拥有一套单独的用户体系,没有与renren-admin用户表共用,因为renren-admin用户表里存放的是企业内部人员账号,具有后台管理员权限,可以登录后台管理系统,而renren-api用户表里存放的是我们的真实用户,不具备登录后台管理系统的权限。renren-api主要是实现了用户注册、登录、接口权限认证、获取登录用户等功能,为APP接口的安全调用,提供一套优雅的解决方案,从而简化APP接口开发。
    • niaobulashi-generator为代码生成器模块,只需在MySQL数据库里,创建好表结构,就可以生成新增、修改、删除、查询、导出等操作的代码,包括entity、mapper、dao、service、controller、页面等所有代码,项目开发神器。可以作为单独的项目运行,我已经将这部分的模块移植到了niaobulashi-admin

    技术选型

    • 核心框架:Spring Boot 2.1
    • 安全框架:Apache Shiro 1.4
    • 视图框架:Spring MVC 5.0
    • 持久层框架:MyBatis 3.5
    • 定时器:Quartz 2.3
    • 数据库连接池:Druid 1.1
    • 日志管理:SLF4J 1.7、Log4j
    • 页面交互:Vue2.x

    软件需求

    • JDK12
    • MySQL5.5+
    • Maven3.0+

    本地部署

    • idea通过:https://github.com/niaobulashi/niaobulashi  进行clone到本地
    • 在项目目录:resources/db找到数据库文件,部署到本地
    • 修改配置文件application-test.yml,数据库改为本地的用户名和密码
    • 直接启动,访问:localhost:8080

    Linux部署

    • 打包成jar,在主项目niaobulashi上进行打包,mvn clean install
    • 会生成相应项目的jar包,放在Linux目标目录下,执行java -jar 包名

    运行可能会遇到的问题

    • 启动可能报错,mysql严格区分大小写,可能找不到表,解决方案:mysql不区分大小写
    • 没有/tmp/spring.log目录权限,解决方案:在root用户下,添加写权限sudo chmod 777 spring.log
    • 登陆页面的验证码显示乱码,原因:linux没有安装字体,解决方案:linux安装字体

    根据项目信息截图

     

    ps:日报管理模块没有实际功能,知识个菜单而已,后期进行维护

    欢迎一起讨论和学习

  • 相关阅读:
    HBase- 安装单机版HBase
    javascript中的设计模式之模板方法模式
    win 设置自动启动软件
    php高精度加减乘除
    frp实现内网穿透,实现夸服务器访问
    OCM 12c 直考预备知识点
    Oracle 19c New Features : Active Data Guard DML Redirect
    3级搭建类302-Oracle 19c RAC 双节点搭建
    VMWare WorkStation 15.5 配置RAC共享存储节点二无法识别共享磁盘UUID解决办法
    你还在争论 count(*) 与 count(column) 哪个更快?
  • 原文地址:https://www.cnblogs.com/niaobulashi/p/niaobulashi-project.html
Copyright © 2011-2022 走看看