• 返回
  • 最后更新
  • 2020-10-04 11:22:26 +0800 CST

ToughRADIUS 商业版 API — 在线用户管理

通过 API 来管理在线帐号, 可以实现查询, 强制断开连接, 以及批量清理等操作

数据结构

id: 唯一ID
username: 帐号
nas_id: nas 标识
nas_addr: NAS IP地址
nas_paddr:  NAS 公网IP, 如果是通过NAT的方式连接的话
session_timeout: 会话超时时间
framed_ipaddr: 客户端IP地址
framed_netmask: 客户端地址掩码
mac_addr: 客户端MAC
nas_port: NAS 端口
nas_class: NAS Class
nas_port_id: NAS 接入端口信息, 可能包含了VLANID信息
nas_port_type: 标准RADIUS属性
service_type: 标准RADIUS属性
acct_session_id: 当前在线会话ID, 唯一
acct_session_time: 会话时长
acct_input_total: 上行总流量 Bytes
acct_output_total: 下行总流量 Bytes
acct_input_packets: 上行数据包
acct_output_packets: 下行数据包
acct_start_time: 上线时间
last_update: 最后更新

- 查询在线

GET /bss/radius/online/list?date_range={%22start%22:%222020-09-08%2021:55:10%22,%22end%22:%222020-09-09%2021:55:10%22}&keyword=

参数通过 url 传递, 需要进行url编码

请求Header

authorization: Bearer <Api Token>

请求参数

date_range={"start":"2020-09-08 21:55:10","end":"2020-09-09 21:55:10"}
keyword=
start=40
count=50

date_range: 时间范围

keyword 模糊匹配

支持分页查询, start 表示记录偏移位置, count 表示每页数据大小

响应结果

{ 
    "pos": 0
    "total_count": 0
    "data": [{
            "id": "1303693498473844736",
            "username": "test01",
            "nas_id": "jradius",
            "nas_addr": "127.0.0.1",
            "nas_paddr": "127.0.0.1",
            "session_timeout": 0,
            "framed_ipaddr": "10.10.0.111",
            "framed_netmask": "255.255.255.0",
            "mac_addr": "N/A",
            "nas_port": "0",
            "nas_class": "N/A",
            "nas_port_id": "N/A",
            "nas_port_type": 0,
            "service_type": 0,
            "acct_session_id": "JRadius-49e7b03b4210a4bfbfb29bf3ed144434",
            "acct_session_time": 0,
            "acct_input_total": "0",
            "acct_output_total": "0",
            "acct_input_packets": 0,
            "acct_output_packets": 0,
            "acct_start_time": "2020-09-09 21:55:26",
            "last_update": "2020-09-09 21:55:26"
        },...
     ]
 }

pos 当前记录偏移值, total_count 为符合条件记录总数

- 强制下线

GET /bss/radius/online/disconnect?username=test01&acct_session_id=JRadius-49e7b03b4210a4bfbfb29bf3ed144434

参数通过 url 传递, 需要进行url编码

请求Header

authorization: Bearer <Api Token>

请求参数

username=test01
acct_session_id=JRadius-49e7b03b4210a4bfbfb29bf3ed144434

响应结果

{ "code":0, "msg": "Success" }

如果失败, 会返回非200状态码,请求客户端需处理

- 批量清理

GET /bss/radius/online/clear?ids=1303693498473844736

请求Header

authorization: Bearer <Api Token>

请求参数

ids=1303693498473844736

支持多个id,英文逗号分割

响应结果

{ "code":0, "msg": "Success" }