验证

句法
AUTH [username] password
适用日期:
1.0.0
时间复杂度:
O(N),其中 N 是为用户定义的密码数量
ACL 类别:
@fast @connection

AUTH命令在两种情况下验证当前连接:

  1. 如果 Redis 服务器通过requirepass选项进行密码保护。
  2. Redis 6.0 实例或更高版本正在使用Redis ACL 系统

Redis 6 之前的 Redis 版本只能理解该命令的一个参数版本:

AUTH <password>

此表单仅针对 设置的密码进行身份验证requirepass。在此配置下,Redis 将拒绝刚刚连接的客户端执行的任何命令,除非连接通过 进行身份验证AUTH

如果通过 AUTH 提供的密码与配置文件中的密码匹配,服务器将回复OK状态代码并开始接受命令。否则,将返回错误,客户端需要尝试新密码。

当使用Redis ACL时,命令应该以扩展的方式给出:

AUTH <username> <password>

为了使用 ACL 列表中定义的连接之一对当前连接进行身份验证(请参阅ACL SETUSER)以及官方ACL 指南以获取更多信息。

当使用 ACL 时,命令的单参数形式(仅指定密码)假定隐式用户名是“默认”。

安全声明

由于 Redis 的高性能特性,可以在很短的时间内同时尝试大量密码,因此请确保生成一个强而长的密码,以使这种攻击不可行。生成强密码的一个好方法是通过命令ACL GENPASS

RESP2/RESP3 回复

简单字符串回复OK,如果密码或用户名/密码对无效,则返回错误。

历史

  • 从 Redis 版本 6.0.0 开始:添加了 ACL 样式(用户名和密码)。
给此页面评分
返回顶部 ↑