微服务 教程
1085个小节阅读:196.3k
C语言快速入门
JAVA全系列 教程
面向对象的程序设计语言
Python全系列 教程
Python3.x版本,未来主流的版本
人工智能 教程
顺势而为,AI创新未来
大厂算法 教程
算法,程序员自我提升必经之路
C++ 教程
一门通用计算机编程语言
微服务 教程
目前业界流行的框架组合
web前端全系列 教程
通向WEB技术世界的钥匙
大数据全系列 教程
站在云端操控万千数据
AIGC全能工具班
A A
White Night
在认证后进行授权需要根据用户id查询到用户的权限,写法如下:
编写用户、角色、权限实体类
xxxxxxxxxx
public class Users implements Serializable {
private Integer uid;
private String username;
private String password;
private String salt;
}
// 角色
public class Role implements Serializable{
private Integer rid;
private String roleName;
private String roleDesc;
}
// 权限
public class Permission implements Serializable{
private Integer pid;
private String permissionName;
private String url;
}
修改UsersMapper接口
xxxxxxxxxx
// 根据用户id查询权限
List<Permission> findPermissionById(Integer id);
在resources目录中编写UsersMapper的映射文件
xxxxxxxxxx
<mapper namespace="com.itbaizhan.myshiro1.mapper.UsersMapper">
<select id="findPermissionById" resultType="com.itbaizhan.myshiro1.domain.Permission">
SELECT DISTINCT permission.pid,permission.permissionName,permission.url FROM
users
LEFT JOIN users_role on users.uid = users_role.uid
LEFT JOIN role on users_role.rid = role.rid
LEFT JOIN role_permission on role.rid = role_permission.rid
LEFT JOIN permission on role_permission.pid = permission.pid
where users.uid = #{uid}
</select>
</mapper>
测试方法
xxxxxxxxxx
public class UserMapperTest {
private UsersMapper usersMapper;
public void testFindPermissionById(){
List<Permission> permissions = usersMapper.findPermissionById(1);
permissions.forEach(System.out::println);
}
}