Spec-Zone .ru
спецификации, руководства, описания, API
|
read_auth()
функция инициирована, когда обмен аутентификационными данными
инициируется клиентом. В последовательности выполнения, read_auth()
сразу
происходит после read_handshake()
, таким образом, выбор сервера был уже сделан, но
информация о соединении и авторизации еще не была обеспечена для сервера бэкэнда.
Можно получить информацию об аутентификации, исследуя proxy.connection.client
структура. Для получения дополнительной информации см. proxy.connection
.
Например, можно напечатать имя пользователя и пароль, предоставленный во время использования авторизации:
function read_auth() print(" username : " .. proxy.connection.client.username) print(" password : " .. string.format("%q", proxy.connection.client.scrambled_password))end
Можно прервать процесс аутентификации в пределах этой функции и возвратить ошибочный пакет назад клиенту,
создавая новый пакет и возврат proxy.PROXY_SEND_RESULT
:
proxy.response.type = proxy.MYSQLD_PACKET_ERRproxy.response.errmsg = "Logins are not allowed"return proxy.PROXY_SEND_RESULT