動吧專案使用者管理
阿新 • • 發佈:2020-07-20
0. 業務分析
使用者的管理分為使用者查詢,新增,更新,禁用等功能
其中的關係為: 1.一個部門有多個使用者,部門和使用者的關係為一對多的關係
2.一個使用者有多個日誌,使用者和日誌的關係為一對多的關係
3. 一個使用者可以有多個角色,一個角色可以有多個使用者,使用者和角色之前的關係為多對多的關係
4.一個角色可有多個選單的許可權,一個選單可以有多個角色可以觀看,角色和選單的關係為多對多的關係
5. 部門分為一級部門和二級部門等,屬於自關聯
6. 選單分為一級選單和二級選單等,屬於自關聯
資料表與邏輯描述:
系統使用者 sys_user
系統角色 sys_roles
系統選單 sys_menu
1. 將角色授權使用者
2. 將選單訪問授權角色
3. 使用者基於授權訪問選單資源
角色和使用者之間的關係表:sys_user_roles
角色和選單之間的關係表:sys_roles_menu
1.使用者查詢
使用者表設計
1 CREATE TABLE `sys_users` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `username` varchar(50) NOT NULL COMMENT '使用者名稱', 4 `password` varchar(100) DEFAULT NULL COMMENT '密碼', 5 `salt` varchar(50) DEFAULT NULL COMMENT '鹽', 6 `email` varchar(100) DEFAULT NULL COMMENT '郵箱', 7 `mobile` varchar(100) DEFAULT NULL COMMENT '手機號', 8 `valid` tinyint(4) DEFAULT NULL COMMENT '狀態', 9 `deptId` int(11) DEFAULT NULL, 10 `createdTime` datetime DEFAULTNULL COMMENT '建立時間', 11 `modifiedTime` datetime DEFAULT NULL COMMENT '修改時間', 12 `createdUser` varchar(20) DEFAULT NULL COMMENT '建立使用者', 13 `modifiedUser` varchar(20) DEFAULT NULL COMMENT '修改使用者', 14 PRIMARY KEY (`id`), 15 UNIQUE KEY `username` (`username`) 16 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='系統使用者';
角色和使用者關係表設計
1 CREATE TABLE `sys_user_roles` ( 2 `id` int(11) NOT NULL AUTO_INCREMENT, 3 `user_id` int(11) DEFAULT NULL COMMENT '使用者ID', 4 `role_id` int(11) DEFAULT NULL COMMENT '角色ID', 5 PRIMARY KEY (`id`) 6 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8 COMMENT='使用者與角色對應關係';
將使用者表中的資料新增後,進行使用者介面的顯示
1.在PageController中新增返回使用者頁面相關方法
PageController:專案中所有頁面的處理,計劃都放在這個controller中
1 //rest 風格(一種架構風格)的url,其語法結構{變數名}/{變數} 2 //PathVariable註解用於修飾方法引數,可以從rest風格的url中取和引數名對應的值 3 @RequestMapping("{module}/{moduleUI}") 4 public String doModuleUI(@PathVariable String moduleUI) { 5 return "sys/"+moduleUI; 6 }