欢迎您访问365答案网,请分享给你的朋友!
生活常识 学习资料

建模杂谈系列123简单时空锁(令牌)

时间:2023-06-10
说明

权限的赋予与控制是一个必须处理的问题,尤其是我计划以微服务的方式进行价值实现。结合redis的过期功能,可以实现一套授权及控制机制, 我觉得可以称为「简单时空锁」。简单时空锁可视为一个功能丰富的令牌。

内容 1 授权

用户一般是通过注册的方式实现授权的,但这样有些麻烦,很多用户事实上不想把自己的信息暴露一遍又一遍。可以想象这样一个场景:用户A购买了一个服务,他觉得不错。然后A的朋友B和C突然也想用一下,但是小A并不想把自己的账号密码高速B和C。

也可以想象:小A做了一个服务,他觉得不错,想向小B和小C推广,小A既担心B和C不想注册,又担心B和C用的顺手大批量使用和转赠。这样小A的服务器就受不了了。

简单时空锁就是免去用户注册,也能精准的对某些服务授权。这种授权既有时间上的约束,也有空间上的约束(功能和条数)

2 组成部分

三比特编码 + md5(口令 + 时间戳 + 随机偏移) + redis过期设置(限时) + 限次 + 冲突退避 = 简单时空锁

鉴权时确保令牌存在且次数未超限(r.get('key') is not None and int(r.get('key_limit')) > 0),所以是两个内存变量。在创建令牌时通过三比特编码的模式,确保锁定一个具体的功能(服务&

Copyright © 2016-2020 www.365daan.com All Rights Reserved. 365答案网 版权所有 备案号:

部分内容来自互联网,版权归原作者所有,如有冒犯请联系我们,我们将在三个工作时内妥善处理。