跳到主要内容
版本:2.0.19

数据库认证

SQL认证是指客户端连接时,通过数据库进行认证,这种方式适用于客户端数量较多的场景,例如生产环境。

img.png

驱动选择

驱动方式释义
com.mysql.cj.jdbc.Drivermysql
oracle.jdbc.OracleDriveroracle
com.microsoft.sqlserver.jdbc.SQLServerDriversqlserver
org.postgresql.Driverpostgresql

sql查询语句

使用 ${认证实体变量名}去引用认证实体中的属性,例如:${username} 代表认证实体中的username属性。查询必须返回password字段、salt字段可选。如果没有返回password字段,则认证失败

select password,salt from device where username = '${username}' limit 1

查询支需要返回一条即可完成认证。

加密

加密算法

加密后的password不区分大小写

加密方式释义
plain明文
md5md5加密
sha1sha1加密
sha256sha256加密
sha512sha512加密

目前支持三种加盐策略

加盐策略释义
disable不加盐
prefixsalt+password
suffixpassword +salt

认证规则

现在新增认证管理器支持正则匹配clientId,定向路由认证管理器,可以操作clientId、username,具体语法如下:

  • 客户端ID匹配正则 Client{regex}
  • 用户名匹配正则 User{regex}

如果不配置正则表达式,表示匹配所有,所有请求都将会走该认证管理器。