基於SSM框架的後臺權限管理系統

該項目源碼地址:https://github.com/ggb2312/permission
項目在線地址:http://47.100.54.177:8080/permission/login.html

1. 簡介

基於SSM框架簡單的後臺管理系統,整合spring + springmvc + shiro + mybatis + esayui。包含許多基礎模塊(用戶管理、角色管理、菜單管理、角色權限管理、用戶角色管理、日誌管理、數據庫監控)。

2. 項目演示

2.1 登錄

使用md5加密,shiro權限校驗

登錄頁面

2.2 用戶管理

(1)ajax異步模糊搜索

ajax異步模糊搜索

模糊搜索

(2)新增

新增

新增成功

(3)修改

點擊修改

修改

填寫修改的信息

修改成功

(4)刪除

選中一行,即可刪除

刪除

刪除成功

(5)導出excel

支持excel導出

excel導出

excel

(6)excel導入

支持excel導入,並更新導入信息。
修改excel已存在的數據,並新增一行。

修改excel

將修改的excel導入系統

導入excel

上傳成功

excel導入

2.3 角色管理

與用戶管理類似。

角色管理

2.4 菜單管理

菜單管理對應系統左側的菜單,不同權限用戶看到不同的菜單。

菜單管理

並且支持菜單的添加修改刪除,以及菜單詳細內容的修改。

添加修改刪除

菜單詳細內容

2.5 角色權限管理

通過角色控制用戶可以看到的菜單。

角色權限管理

2.6 用戶角色管理

在該頁面給用戶設置角色,可以是多個角色。

初始

新增角色

保存成功

刷新頁面,新增的角色生效。

image.png

2.7 日誌管理

使用aop日誌,記錄用戶的操作。剛纔的操作日誌,都被記錄了下來。

日誌管理

2.8 數據庫監控

集成druid的監控頁面。

數據庫監控

#3. 系統權限設計思路

  1. 每個用戶登陸進去看到的菜單應該取決於他們所擁有的權限,對於不同的用戶,他們進入系統後看到的菜單可能是不同的。

  2. 如果對每個用戶都去設置權限,操作起來是非常繁瑣的。實際中很多用戶的權限是一樣的。我們把這多個權限合起來,給它一個名稱叫角色(有的系統稱爲“用戶組”)。這樣我們通過角色設置權限,即一個角色可以有多個權限(菜單項),一個權限也可以被多個角色同時擁有。在這種情況下,角色和權限之間就是典型的多對多關聯

  3. 每個角色包含了很多權限(菜單),那麼用戶指定爲某種角色,即擁有該角色的權限。實際中一個用戶可能同時擁有多種角色,而一個角色又包含了很多個用戶。那麼用戶與角色之間又是典型的多對多關係。

  4. 一個標準的權限系統包括哪些表呢?剛纔我們提到了用戶、角色、權限,這就是三張表。用戶與角色的關係是多對多,對於多對多關係,我們通常會使用中間表來存儲它們的關係。那麼對應的角色與權限的關係,也會有中間表。因此,權限系統涉及的表就有5個了。

系統權限

通過用戶對應的角色加載角色對應的菜單。
集成shiro做後端url級別鑑權、方法級別鑑權,甚至方法內的鑑權。由於shiro鑑權每次都要查詢數據庫,所以使用redis緩存菜單信息。

4. 日誌系統設計思路

使用aop環繞通知記錄方法的操作。
參考:https://www.cnblogs.com/gj-blog/p/10803600.html

5. 如何運行項目

第一步:啓動redis
第二步:導入sql文件
第三步:導入項目,修改db.properties中的數據庫賬號密碼
第四步:啓動maven項目

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章