我的數據庫中有兩個表格。用戶和user_role。Spring,@RolesAllowed和數據庫來保護頁面
CREATE TABLE `user` (
`username` varchar(50) NOT NULL,
`password` varchar(255) NOT NULL,
`enable` tinyint(4) NOT NULL DEFAULT '1',
PRIMARY KEY (`username`),
UNIQUE KEY `unique_username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1
CREATE TABLE `user_roles` (
`user_role_id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(45) NOT NULL,
`ROLE` varchar(45) NOT NULL,
PRIMARY KEY (`user_role_id`),
UNIQUE KEY `uni_username_role` (`ROLE`,`username`),
KEY `fk_username_idx` (`username`),
CONSTRAINT `fk_username` FOREIGN KEY (`username`) REFERENCES `user` (`username`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1
在user_roles「角色」顯示角色,其用戶{ROLE_USER,ROLE_ADMIN}
我想使用@RolesAllowed拒絕用戶訪問某些網頁(和授予管理員訪問權限) ,但我不知道如何從數據庫獲取user_role並將其發送給RolesAllowed。
在控制器中獲取user_role不是問題,但我認爲在每個函數中檢查用戶角色並不是一個好主意。
或者,也許有比使用@RolesAllowed更好的解決方案?
對不起,這是一個愚蠢的問題,它是5個小時,因爲我第一次看到Spring。