某系统业务逻辑如下:1)每个用户可以属于多个角色;2)每个角色可以有多个数据权限;3)数据表tbl_data中的每一行数据属于一个数据权限

某系统业务逻辑如下:

1)每个用户可以属于多个角色
2)每个角色可以有多个数据权限
3)数据表tbl_data中的每一行数据属于一个数据权限
要求:
1)请简单设计所需要的表和结构
2)请编写一段后台代码,对当前登录的用户,返回tbl_data中他有权限看到的所有数据,可以使用Hibernate或Django或其他ORM框架,也可以用SQL.

答:

1):
在这里插入图片描述
2):

select dateId,dateName from date where powerId in (select powerId from roleAndPower where roleId in (select roleId from userAndRole where userId = 1));

解答过程:

1、通过用户id找到用户的所有角色:
select roleId from userAndRole where userId = 1;
2、通过所有角色找到所有权限:
select powerId from roleAndPower where roleId in (select roleId from userAndRole where userId = 1);
3、通过所有权限找到权限对应的所有数据:
select dateId,dateName from date where powerId in (select powerId from roleAndPower where roleId in (select roleId from userAndRole where userId = 1));
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值