哪个redis数据类型适合存储用户?

时间:2012-09-08 21:13:07

标签: ruby security authentication encryption redis

我正在ruby中构建一个身份验证系统,并使用redis存储用户的访问数据。我想知道redis datatypes哪个更适合使用?

1 个答案:

答案 0 :(得分:1)

他们都不是。 Redis应该在受信任的环境中使用,它自己的身份验证机制是基本的,并且没有与数据关联的访问权限或ACL。存储安全敏感数据非常薄弱。

现在,如果您确实需要这样做,您可以序列化用户的属性并将每个用户存储在单个字符串中,或​​者为每个用户使用一个哈希对象来单独存储属性。

例如:

SET user:1 {"lastname":"Smith","firstname":"John","passwd":"38E56712AB15"}
or
HMSET user:1 lastname Smith firstname John passwd 38E56712AB15

如果您以全局方式系统地访问用户(一次检索/更新所有属性),则第一个解决方案更加优化。

使用第二种解决方案,仅加密一部分数据并支持部分更新/检索更容易一些。当然加密必须在客户端完成。