Pure PHP radius class
Last update: 2009-01-05, release 1.2.2
This Radius class is a radius client implementation in pure PHP
following the RFC 2865 rules (http://www.ietf.org/rfc/rfc2865.txt)
This class works with at least the following RADIUS servers:
- Authenex Strong Authentication System (ASAS) with two-factor authentication
- FreeRADIUS, a free Radius server implementation for Linux and *nix environments
- Microsoft Radius server IAS
- Mideye RADIUS server (http://www.mideye.com)
- Radl, a free Radius server for Windows
- RSA SecurID
- VASCO Middleware 3.0 server
- WinRadius, Windows Radius server (free for 5 users)
- ZyXEL ZyWALL OTP (Authenex ASAS branded by ZyXEL, cheaper)
USAGE
require_once('radius.class.php');
$radius = new Radius($ip_radius_server = 'radius_server_ip_address', $shared_secret = 'radius_shared_secret'[, $radius_suffix = 'optional_radius_suffix'[, $udp_timeout = udp_timeout_in_seconds[, $authentication_port = 1812]]]);
$result = $radius->Access_Request($username = 'username', $password = 'password'[, $udp_timeout = udp_timeout_in_seconds]);
EXAMPLES
Example 1
require_once('radius.class.php');
$radius = new Radius('127.0.0.1', 'secret');
$radius->SetNasIpAddress('1.2.3.4'); // Needed for some devices (not always auto-detected)
if ($radius->AccessRequest('user', 'pass'))
{
echo "Authentication accepted.";
}
else
{
echo "Authentication rejected.";
}
Example 2
require_once('radius.class.php');
$radius = new Radius('127.0.0.1', 'secret');
$radius->SetNasPort(0);
$radius->SetNasIpAddress('1.2.3.4'); // Needed for some devices (not always auto-detected)
if ($radius->AccessRequest('user', 'pass'))
{
echo "Authentication accepted.";
echo "<br />";
}
else
{
echo "Authentication rejected.";
echo "<br />";
}
echo $radius->GetReadableReceivedAttributes();
LICENCE
Copyright (c) 2008, SysCo systemes de communication sa
SysCo (tm) is a trademark of SysCo systemes de communication sa
(http://www.sysco.ch/)
All rights reserved.
Pure PHP radius class is free software; you can redistribute it and/or
modify it under the terms of the GNU Lesser General Public License as
published by the Free Software Foundation, either version 3 of the License,
or (at your option) any later version.
Pure PHP radius class is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public
License along with Pure PHP radius class.
If not, see <http://www.gnu.org/licenses/>.