Spring Boot的shiro整合(下)
阿新 • • 發佈:2018-11-11
一 執行程式,MySQL生成5張資料表
1 sys_permission
CREATE TABLE `sys_permission` ( `id` int(11) NOT NULL AUTO_INCREMENT, `available` bit(1) DEFAULT NULL, `name` varchar(255) DEFAULT NULL, `parent_id` bigint(20) DEFAULT NULL, `parent_ids` varchar(255) DEFAULT NULL, `permission` varchar(255) DEFAULT NULL, `resource_type` enum('menu','button') DEFAULT NULL, `url` varchar(255) DEFAULT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
2 sys_role
CREATE TABLE `sys_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`available` bit(1) DEFAULT NULL,
`description` varchar(255) DEFAULT NULL,
`role` varchar(255) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8;
3 sys_role_permission
CREATE TABLE `sys_role_permission` ( `permission_id` int(11) NOT NULL, `role_id` int(11) NOT NULL, KEY `FK9q28ewrhntqeipl1t04kh1be7` (`role_id`), KEY `FKomxrs8a388bknvhjokh440waq` (`permission_id`), CONSTRAINT `FK9q28ewrhntqeipl1t04kh1be7` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`), CONSTRAINT `FKomxrs8a388bknvhjokh440waq` FOREIGN KEY (`permission_id`) REFERENCES `sys_permission` (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
4 sys_user_role
CREATE TABLE `sys_user_role` (
`role_id` int(11) NOT NULL,
`uid` int(11) NOT NULL,
KEY `FKgkmyslkrfeyn9ukmolvek8b8f` (`uid`),
KEY `FKhh52n8vd4ny9ff4x9fb8v65qx` (`role_id`),
CONSTRAINT `FKgkmyslkrfeyn9ukmolvek8b8f` FOREIGN KEY (`uid`) REFERENCES `user_info` (`uid`),
CONSTRAINT `FKhh52n8vd4ny9ff4x9fb8v65qx` FOREIGN KEY (`role_id`) REFERENCES `sys_role` (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5 user_info
CREATE TABLE `user_info` (
`uid` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) DEFAULT NULL,
`password` varchar(255) DEFAULT NULL,
`salt` varchar(255) DEFAULT NULL,
`state` tinyint(4) NOT NULL,
`username` varchar(255) DEFAULT NULL,
PRIMARY KEY (`uid`),
UNIQUE KEY `UK_f2ksd6h8hsjtd57ipfq9myr64` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=3 DEFAULT CHARSET=utf8;
二 給每張表構造資料
1 sys_permission
2 sys_role
3 sys_role_permission
4 sys_user_role
5 user_info
因為我們程式將鹽值固定為Mark,迭代次數為1,所以我們可以設計如下資料。
三 測試
1 瀏覽器輸入:http://localhost:8080/
頁面輸出:
控制檯輸出:
HomeController->login
exception=null
2 瀏覽器輸入:http://localhost:8080/userList
頁面輸出:
控制檯輸出:
HomeController->login
exception=null
3 登入介面登入
使用者名稱:Mark1
密碼:1234567
4 登入介面登入
使用者名稱:Mark
密碼:1234567
5 瀏覽器輸入:http://localhost:8080/userList
6 瀏覽器輸入:http://localhost:8080/userAdd