@page "/admin" @rendermode InteractiveServer @inject IRadiusService RadiusService @inject AdminAuthService AuthService @inject NavigationManager NavManager
Verifying Administrator Session...
Manage guest bandwidth caps, session durations, and monitor live PostgreSQL accounting.
| Guest Name | RADIUS Credentials | Status | Session Duration Limit | Data Used / Cap | Total Online Time | Actions |
|---|---|---|---|---|---|---|
| No guest accounts found. | ||||||
|
@user.GuestName
Registered: @user.CreatedAt.ToLocalTime().ToString("MMM dd, yyyy HH:mm")
|
@user.Username
Pwd: @user.Password
|
@if (user.IsCurrentlyConnected) { Online } else if (user.Status == "Revoked") { Revoked } else { @user.Status } |
@user.SessionTimeMinutes mins
RADIUS Session-Timeout
|
@user.UsedDataMb MB
/ @user.DataLimitMb MB
Upload: @FormatMb(user.TotalInputOctets) | Down: @FormatMb(user.TotalOutputOctets)
|
@FormatSeconds(user.TotalSessionTimeSeconds) |
@if (user.Status == "Active")
{
}
|
These parameters determine the initial session duration limit and total bandwidth quota assigned when a new guest registers.
Session-Timeout (in seconds) for FreeRADIUS reply.
Max-Octets (in bytes) for FreeRADIUS reply.
Real-time active RADIUS sessions recorded in PostgreSQL radacct table.
| Username | NAS IP Address | Calling Station (MAC) | Framed IP | Start Time | Online Duration | Downloaded / Uploaded |
|---|---|---|---|---|---|---|
| No active sessions currently online. | ||||||
| @session.Username | @session.NasIpAddress | @(string.IsNullOrEmpty(session.CallingStationId) ? "N/A" : session.CallingStationId) | @(string.IsNullOrEmpty(session.FramedIpAddress) ? "DHCP Assigned" : session.FramedIpAddress) | @session.AcctStartTime?.ToLocalTime().ToString("HH:mm:ss MMM dd") | @FormatSeconds(session.AcctSessionTime ?? 0) | ↓ @FormatMb(session.AcctOutputOctets ?? 0) MB / ↑ @FormatMb(session.AcctInputOctets ?? 0) MB |