栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

说明

权限的赋予与控制是一个必须处理的问题,尤其是我计划以微服务的方式进行价值实现。结合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),所以是两个内存变量。在创建令牌时通过三比特编码的模式,确保锁定一个具体的功能(服务&

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/736910.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号