У меня есть сервер Freeradius, который использует MySQL для хранения данных.

ниже моя база данных

radcheck table
+-----+----------+--------------------+----+--------------+
| id  | username | attribute          | op | value        |
+-----+----------+--------------------+----+--------------+
| 474 | varun    | Cleartext-Password | := | sunshine3003 |
+-----+----------+--------------------+----+--------------+


radreply table
+----+----------+--------------+----+-------+
| id | username | attribute    | op | value |
+----+----------+--------------+----+-------+
|  1 | varun    | Fall-Through | =  | Yes   |
+----+----------+--------------+----+-------+


radgroupcheck table
+----+-----------+-----------+----+-------+
| id | groupname | attribute | op | value |
+----+-----------+-----------+----+-------+
|  1 | group1    | Auth-Type | := | PAP |
|  2 | eapgroup  | Auth-Type | := | EAP   |
+----+-----------+-----------+----+-------+


radusergroup table
+----------+-----------+----------+
| username | groupname | priority |
+----------+-----------+----------+
| varun    | eapgroup  |        1 |
| varun    | group1    |        2 |
+----------+-----------+----------+

У нас есть два разных клиента, которые используют два разных типа аутентификации со свободным радиусом. Один использует PAP и отправляет пароль в атрибуте User-Password .

а другой клиент пользователя EAP и отправляет пароль в EAP-Message и Message-Authenticator

Что я хочу, так это, когда PAP не проходит аутентификацию или когда отсутствует атрибут User-Password он должен использовать EAP качестве Auth-Type а если EAP и Message-Authenticator не присутствуют в атрибуте radius, он должен ответить Access-reject или сбой аутентификации сообщение.

Любая помощь будет оценена

0