我需要列出系统中所有可用的权限,并且在每个权限上,我需要向特定用户显示哪个权限在他身上是活动的......下面是表关系:
表中的所有记录:authority_master(从authority_master中选择 *)
表中的所有记录:用户权限关系(从用户权限关系中选择 *;)
表中的所有记录:用户详细信息(从用户详细信息中选择 *)
**预期JSON输出:**如果我想知道每个用户(基本上是表“user_authority_relation”中存在的记录)的哪些权限和所有权限处于活动状态,(这里我想列出表“authority_master”中可用的所有权限,并且只有当表“user_authority_relation”中存在特定权限时,“isActive”JSON键才为True
基本上,我需要选择用户详细信息表并与users_authority_relation连接,这将只给予谁有权限的结果,但它不会列出所有可用的权限。我对此感到困惑,如何获得如下预期的JSON结果x1c4d 1x
3条答案
按热度按时间x7rlezfr1#
如果允许进行多个数据库调用,则可以执行此操作
1.从数据库中获取授权机构
authList
的列表。1.获取用户列表
1.对每个用户执行步骤4-5
1.循环
authList
并检查当前用户的权限列表是否包含该元素。如果是,则设置isActive true,否则为false。1.将
authList
设置为当前用户权限lymnna712#
由于我也在Spring Boot 学习阶段,我发现你的问题很有趣,所以我试图解决你的问题
您的实体Bean可能如下所示
用户权限关系bean
UserDetailsBean.java
AuthorityMaster.java
为了获得所需的响应,我们需要创建一些类,这些类可以帮助创建自定义响应bean,如下所示
休息控制器
输出
umuewwlo3#
您应该创建一个响应DTO,它可以保存来自不同资源(数据库、外部服务)的所有数据
我的控制器响应为: