niaobulashi-一個基於springboot shrio的權限管理系統 niaobulashi-一個基於springboot shrio的權限管理系統

niaobulashi-一個基於springboot shrio的權限管理系統

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

springboot學習地址:http://www.ityouknow.com/spring-boot.html

shiro學習地址:https://jinnianshilongnian.iteye.com/blog/2018398

歡迎大家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:日報管理模塊沒有實際功能,知識個菜單而已,後期進行維護

歡迎一起討論和學習

 

posted @ 2019-06-16 15:44 南嶼北島 閱讀( ...) 評論( ...) 編輯 收藏
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章