1. 程式人生 > 實用技巧 >動吧專案使用者管理

動吧專案使用者管理

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 DEFAULT
NULL 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     }