关于后端开发的权限设计和鉴权的一点记录

防止恶意访问重要接口,比如对用户信息修改的接口,隐私信息查询的接口...

可以使用redis存放id及对应uuid,访问此类接口时判断携带的uuid是否有效

鉴权问题可以在uuid判断有效后通过判断用户的权限是否拥有所需的权限

权限的设计:

以二进制的形式设计权限,即二进制的每一位代表一个权限

权限依然使用整数类型即可,可不使用字节类型,位运算检测权限不需要这些限制

比如:

1的二进制表示为01,有管理版块权限

2的二进制表示为10,有管理用户权限

3的二进制表示为11,则表示有01和10的权限,即有管理版块和用户的权限

这样的权限设置比较灵活,权限叠加的判别比较方便

鉴权写法:

用户的权限:user_permission

需要的权限:need_permission

need_permission = user_permission & need_permission

或者

user_permission = user_permission | need_permission

说明权限足够

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值