如何在默认站点中使 FreeRADIUS 运行 成为 SQL 查询?

How do I make FreeRADIUS run an SQL query in default site?

我想做的是让 FreeRADIUS 运行 成为站点文件中的 SQL 语句:

if(such and such condition is met){
  run_some_sql_query
}

我该怎么做?

我假设您正在尝试 运行 Unlang 上的 SQL。 (此文件位于 sites-enabled/default 或 sites-available/default)

首先,您应该了解 freeradius SQL https://wiki.freeradius.org/guide/sql-howto and https://wiki.freeradius.org/modules/Rlm_sql

稍后,您可以使用那里写的 SQL Xlat

假设你的 unlang 和 sql 模块配置都已设置(你的 SQL 模块名称是 'sql'),你可以这样做:

if(such and such condition is met){
  "%{sql:SELECT * FROM radcheck WHERE username = '%{User-Name}'}"
  "%{sql:INSERT INTO radcheck (username, attribute, op, value) VALUES ('%{User-Name}', 'Cleartext-Password', ':=', 'dummyPassword');}"
}