Я обновляюсь с FreeRadius 2 к FreeRadius 3 и изменив некоторую точку интеграции с sql
к rest
модуль.
На самом деле у меня два бухгалтерский учет точки: accounting_start_query
и accounting_start_query
, которые являются вызовами процедур.
Теперь мне нужно настроить accounting
в модуле rlm_rest FreeRadius.
это код не упомянул операции запуска / остановки. Должен ли я реализовать оба варианта?
Кто-нибудь может мне помочь ?
rlm_rest
спроектирован как транспорт для AVP, он на самом деле не реализует логику управления сеансом так же, как rlm_sql
.
когда rlm_sql
получает промежуточный период, который он не видел, поскольку он автоматически создаст запись для этого сеанса.
С участием rlm_rest
вся эта логика зависит от остального API, который вы вызываете. Все rlm_rest
будет сериализовать атрибуты, полученные FreeRADIUS в Access-request
и отправьте их в конечную точку API.
Вам решать, будете ли вы использовать разные конечные точки для начальных / промежуточных / стоп-пакетов. Если хотите, можете использовать расширение %{Acct-Status-Type}
в строке URL, чтобы узнать, какой это был пакет.
На высоком уровне учет RADIUS не совсем соответствует дизайну RESTfull. Вы не знаете, нужно ли вам PUT
или POST
запросы, потому что вы не знаете, создаете ли вы объект или обновляете уже существующий.
Самая надежная конструкция - это одна конечная точка с %{Acct-Unique-Session-ID}
в качестве идентификатора объекта принимается PUT
или POST
взаимозаменяемо, и выполнял REST-эквивалент «upserts», игнорируя запросы, в которых Event-Timestamp
старше последнего полученного Event-Timestamp
.