How radiusdesk/rd_cake5 works
RadiusDesk is a CakePHP network and subscriber-management application. Its main workflow is an authenticated operator request handled by application controllers, which manage cloud, access-point, mesh, subscriber, and usage data and return JSON views. The sampled code shows access-point captive-portal setup coordinating RADIUS-related configuration, mesh/node management, and usage reporting. The README gives no product detail; broader capabilities are represented conservatively from the repository tree and SOURCE INDEX, so links for unsampled subsystems are omitted.
Main entry points: Application.php HTTP application · ApProfilesController.php Access point profiles · DataUsagesController.php Usage analytics · Table Subscriber records
Components 18
Request runtime
- HTTP application
rd_cake/src/Application.php - Shared controller
rd_cake/src/Controller/AppController.php - Token authentication
rd_cake/src/Authentication/Authenticator/CustomTokenAuthenticator.php - Host validation
rd_cake/src/Middleware/HostHeaderMiddleware.php
Network management
- Access point profiles
rd_cake/src/Controller/ApProfilesController.php - AP profile presets
rd_cake/config/ApProfiles.php - Portal provisioning
rd_cake/src/Service/ConnectAndRedirectService.php - Mesh and node management
rd_cake/src/Controller/MeshesController.php - Mesh configuration
rd_cake/config/MESHdesk.php - Network records
rd_cake/src/Model/Table
Subscriber services
- RadiusDesk settings
rd_cake/config/RadiusDesk.php - Voucher settings
rd_cake/config/Vouchers.php - Subscriber records
rd_cake/src/Model/Table
Usage and reporting
- Usage analytics
rd_cake/src/Controller/DataUsagesController.php - Mesh reporting
rd_cake/src/Controller/MeshReportsController.php - Statistics records
rd_cake/src/Model/Table
Other components
- Operator
- FreeRADIUS
Connections 18
- Operator → HTTP application: sends request
- HTTP application → Host validation: installs middleware
rd_cake/src/Application.php - HTTP application → Token authentication: configures authentication
rd_cake/src/Application.php - HTTP application → Shared controller: dispatches requests
- Shared controller → RadiusDesk settings: loads settings
rd_cake/src/Controller/AppController.php - Access point profiles → Portal provisioning: provisions portal
rd_cake/src/Controller/ApProfilesController.php - Access point profiles → Network records: manages profile data
rd_cake/src/Controller/ApProfilesController.php - Access point profiles → Subscriber records: cleans portal records
rd_cake/src/Controller/ApProfilesController.php - Access point profiles → AP profile presets: uses profile presets
rd_cake/src/Controller/ApProfilesController.php - Portal provisioning → FreeRADIUS: updates RADIUS rules
- Mesh and node management → Network records: manages mesh records
rd_cake/src/Controller/MeshesController.php - Mesh and node management → Mesh configuration: uses mesh settings
rd_cake/src/Controller/MeshesController.php - Mesh reporting → Statistics records: queries node metrics
rd_cake/src/Controller/MeshReportsController.php - Usage analytics → Statistics records: queries usage stats
rd_cake/src/Controller/DataUsagesController.php - Usage analytics → Subscriber records: resolves subscriber context
rd_cake/src/Controller/DataUsagesController.php - Usage analytics → Voucher settings: reads voucher options
rd_cake/src/Controller/DataUsagesController.php - Subscriber records → Voucher settings: loads configuration
rd_cake/src/Model/Table/CloudsTable.php - HTTP application → Operator: returns response