Я пытаюсь настроить FreeRadius для аутентификации с использованием сценария PHP. Я бездельничал, пытаясь заставить его аутентифицировать сервер на основе сценария, но я не могу найти много документации о том, как это сделать.
Это то, что мы пытаемся настроить.
У нас есть веб-сервер, на котором установлен сайт WordPress с тысячами пользователей. Мы хотим установить службу Wi-Fi в определенных местах, которые используют FreeRadius для аутентификации, и мы хотим, чтобы пользователи, которые зарегистрировались на сайте WordPress, могли использовать свои учетные данные.
Проблема, с которой я сейчас сталкиваюсь, заключается в том, что я не могу заставить FreeRadius проходить аутентификацию на основе сценария PHP.
Это то, что я настроил до сих пор, основываясь на других постах StackOverflow, упомянутых в их конфигурации.
Я создал следующий файл в /etc/modules/php
и добавил это
exec php {
wait = yes
program = "/usr/bin/php -f /etc/raddb/myscript.php"input_pairs = request
output_pairs = reply
}
В /etc/raddb/sites-enabled/default
Я добавил следующее:
authenticate {
Auth-Type PHP {
php
}
}
В /etc/raddb/users
Я добавил следующую строку в конец
DEFAULT Auth-Type := PHP
С точки зрения myscript.php
В файл я добавил ответы только для того, чтобы посмотреть, что я мог получить, и напечатал «Access-Accept» или «Access-Reject», чтобы посмотреть, даст ли мне какие-либо подсказки, будет ли он проходить проверку подлинности на основе этих ответов, но ни один из них не помог.
Любое руководство или примеры будут с благодарностью.
Кроме того, я попробовал метод, перечисленный здесь: Freeradius и PHP скрипт авторизации но безрезультатно.
Метод в вашей ссылке для обновления управления: Auth-Type должен работать. Убедитесь, что это сделано в authorize {}
Измените ваши ответы на Accept
а также Reject
(по ссылке, которую вы разместили). Access-Accept
знак равно Accept
, Access-Reject
знак равно Reject
,
Для ясности и во избежание надоедливых сообщений в журнале добавьте:
authenticate {
reject
}
Который добавит Auth-Type reject { reject }
раздел.
Вам не нужно ничего делать для Accept
, поскольку есть встроенный тип аутентификации Accept
это вызывает проверку подлинности всегда успешно.
Других решений пока нет …