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