此項目源碼采用spring boot開發,使用springsecurity進行權限控制。前后端基于json進行交互,接口通過JWT無狀態token進行權限校驗,使用redis或者數據庫進行token緩存,接口完全采用Restful的風格,實現按鈕級權限控制,可以作為開發項目的腳手架,做為基礎項目。
該版本為mybatis版,只支持mysql
采用jdk1.8 + spring boot2.0.2 +springsecurity4+mysql+ mybatis + redis + layui + json + quartz +datatables。
代碼實現我都采用的開源的架構,沒有授權問題,因此不管是個人學習,還是公司開發,都可以放心的使用,layui是官網開源部分,非layuiAdmin
源碼是標準的maven項目,壓縮后源代碼僅有幾兆,所以不會用工具導入maven項目的請三思,開發可用eclipse,也可用idea
代碼結構:
spring security 全注解式的權限管理
動態配置權限,角色和資源,權限控制到按鈕粒度
采用JWT無狀態token進行權限校驗,禁用session,未登錄返回401,權限不足返回403
內置功能:
用戶管理:用戶查詢、添加用戶、修改用戶、給用戶分配角色
菜單管理:菜單列表、添加菜單、修改菜單、刪除菜單、權限配置、菜單圖標設置、菜單排序
角色管理:角色查詢、添加角色、修改角色、刪除角色
代碼生成:根據表生成bean、controller、dao、Mapper.xml、查詢列表頁、分頁、新增頁、修改頁
job集群:創建job、取消job、查詢job、下拉搜索spring bean
數據源監控:druid
接口swagger文檔
日志查詢
郵件管理:發送郵件、搜索郵件
文件管理:上傳文件、文件列表、文件刪除
公告管理:公告未讀提醒、發布公告、查詢公告、公告閱讀人列表
excel下載:自定義sql導出excel、也可在頁面展示sql結果數據
字典管理:一些常量字典的維護
個人信息修改
修改密碼
頭像修改
其他說明:
日志模塊
sl4j日志分包:將sql日志、業務日志、異常日志進行了分離,更方便定位問題
日志表:使用aop攔截實現
權限控制:基于token方式,禁用session
對各種不同異常進行了全局統一處理
mybatis未進行二次封裝,原滋原味,簡單sql采用注解,復雜sql采用Mapper.xml配置
使用了layui的彈出層、菜單、文件上傳、富文本編輯、日歷、選項卡等
表單數據采用bootstrapValidator校驗,簡單快捷方便
想學習spring boot的同學也可以從此項目入手,該代碼沒有過度封裝,方便學習或者二次開發,你可以很容易的修改任何功能模塊。
后臺管理界面:












