У меня есть сервер 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 или сбой аутентификации сообщение.
Любая помощь будет оценена
