有关权限控制的通用做法

有关用户权限的控制,一般通用的做法是涉及到用户,角色,访问功能/资源这三者,它们之间的关系一直比较模糊,今天来总价一下;

用户是注册到系统中的用户,角色是有某些或全部权限的集合,访问功能/资源是角色可访问的功能或资源的集合,其中涉及到的表有:

1,user 表是保存注册到系统中的用户基本信息表;
2,role 表是保存角色基本信息的表;
3,role_user 表是保存某个角色中存在的用户,是个用户和角色关系表;
4,func 表是保存访问的功能或资源基本信息表;
5,role_func 表是保存某个角色下可以访问的功能或资源,是个角色和访问功能/资源的关系表;


各个表之间对应的关系如下:
func f <--f.refId = rf.funcId (1:N)--> role_func rf <--rf.roleId = r.refId (N:1)--> role r <--r.refId = ru.roleId (1:N)--> role_user ru <--ru.userId = u.refId (N:1)--> user u

查询某个用户可以访问哪些资源时,

可以通过用户ID 查 role_user 表,看该用户有哪些角色,得到角色ID,再通过查 role_func 表,得到角色对应可访问的功能或资源,最后列出[一般以菜单形式]该用户可以访问的功能或资源。

这里是权限管理的通用做法,仅供参考。



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值