之前我们再shiro中已经实现了认证数据的数据库获取,权限数据的数据库获取,最后我们再来看一下有关权限字符串集合的获取,其实权限字符串的获取和角色的获取集合也是大同小异的,下面就可以来看一下这个权限的细粒度的权限控制。
首先我们来分析一下,在数据库中的表:分别是 t_role,t_perms,t_role_perms这三张表,t_role是角色表,t_perms为权限表,t_roler_perms为权限与角色的中间表,那么我们最终的目的就是要通过角色id来获取权限字符串,url,角色名称。
那么想好需要什么,那几张表,这样我们就可以写sql了:
SELECT p.id,p.perms_name name,p.url,r.rolename
FROM t_role r
LEFT JOIN t_role_perms rp
ON r.id = rp.role_id
LEFT JOIN t_perms p
ON rp.perms_id = p.id
WHERE r.id = '#{id}'
这个sql的含义就是通过id来获取权限信息和角色信息以及url,我们再将roleid标为1,查询的结果
编写d