基于 Token 解决方案的 Redis 存储实践(token 存redis)
Redis是一款开源的高性能KV存储,它易于部署,扩展,维护,它也可以支持数据持久化,Redis提供了一套完整的命令,可以实现复杂的数据存取方案,而基于 Token 解决方案的 Redis 存储是 Redis 最常用的一种存储方案。
Token解决方案是一种用于管理授权信息的解决方案,它可以用来校验用户权限信息,防止访问受限服务器的加固机制。当一个应用获得用户权限时,它会生成一个唯一的令牌,这个令牌拥有特定的生存时间,这样一来,用户就可以在一个安全的域里操作,而不用担心在授权过期之后,用户没有权限访问服务器。
Redis作为一款KV存储,具有高性能,易于部署,维护的优点,因此我们可以将基于 Token 解决方案的 Redis 存储应用于应用的安全验证服务器上,每次验证信息都会从 Redis 中获取 Token 进行验证。
下面我们看一段代码,来看看如何使用Redis实现基于Token解决方案的权限验证。
首先定义Token字段信息:
“`
class Token {
String key; //Token key
String userName; //用户名
String role; //角色
}
“`
然后在 服务端验证时,使用Redis进行验证:
//权限认证
public Boolean auth(String tokenStr) { //解析token字符串
Token token = parseTokenStr(tokenStr); //从Redis获取Token
String redisToken = redisTemplate.opsForValue().get(token.key); //校验token是否一致
if(tokenStr.equals(redisToken)) { return true;
} return false;
}
以上就是基于 Token 解决方案的 Redis 存储实践。Redis通过设置特定消耗期对Token进行存取,可以有效的满足多个系统间数据 同步,提高系统的安全性。