文章目录
在上一小节,我们通过实现UserDetails接口,并通过auth.userDetailsService,实现了把从数据库加载的用户信息导入到security框架中,用户信息包括用户名,用户所拥有的角色。
那么这一小节,我们继续完善,把权限配置也存入数据库。创建menu资源表和menu_role资源角色对照表。加上上一小节创建的user表,role表,user_role表共有 5 张表。
1、创建menu表和menu_role表
CREATE TABLE `menu` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`pattern` varchar(50) DEFAULT NULL COMMENT '资源路径',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COMMENT='资源表'
CREATE TABLE `menu_role` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`mid` int(11) DEFAULT NULL COMMENT '资源id',
`rid` int(11) DEFAULT NULL COMMENT '角色id',
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=4 DEFAULT CHARSET=latin1 COMMENT='资源角色关联表'
2、创建MenuMapper,MenuService
创建Menu类
@Data
public class Menu {
private Integer id;
private String pattern; // url规则
private List<Role> roles;
}
MenuMapper.java,查询所有menu,
@Mapper
public interface MenuMapper {
List<Menu> getAllMenus();
}
MenuMapper.xml
<?xml version="1.0" encoding="UTF-8" ?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0