Applefan88
Gast
Hallo,
ich habe ein großes Problem und zwar habe ich eine PHP Klasse für einen Radius Server bekommen und möchte dort nun sobald die Daten korrekt sind eine Session mit dem Benutzernamen anlegen.
Die Session soll $_SESSION['valid_radius_user'] heissen. Nun wird meine Session aber nicht registriert, kann mir einer helfen?
Ach ja, die Klassen an sich ist voll funktionsfähig, der User wird als richtig erkannt.
Und an sich auch in den Radius Server eingelogged, nur die verdammte Session wird nicht erstellt.
ich habe ein großes Problem und zwar habe ich eine PHP Klasse für einen Radius Server bekommen und möchte dort nun sobald die Daten korrekt sind eine Session mit dem Benutzernamen anlegen.
Die Session soll $_SESSION['valid_radius_user'] heissen. Nun wird meine Session aber nicht registriert, kann mir einer helfen?
Ach ja, die Klassen an sich ist voll funktionsfähig, der User wird als richtig erkannt.
Und an sich auch in den Radius Server eingelogged, nur die verdammte Session wird nicht erstellt.
Code:
<?php
function session () {
session_start();
$_SESSION['valid_radius_user'] = $radius_user;
header ("Location: main.php");
}
class CLogin
{
var $user = null;
var $pass = null;
private $handle = null;
private $secret = 'testing123';
private $timeout = 5;
private $port = 1812;
private $max_tries = 3;
private $host = 'localhost';
function __construct()
{
try
{
//handle erstellbar?
if(!$this->handle = radius_auth_open ()) throw new Exception("can't create handle(".radius_strerror($this->handle).")");
else
{
//Verbindung kann hergestellt werden?
if (!radius_add_server($this->handle, $this->host, $this->port, $this->secret, $this->timeout, $this->max_tries)) throw new Exception("can't connect to radius(".radius_strerror($this->handle).")");
else return true;
}
}
catch (Exception $e)
{
echo $e->getMessage();
echo ' in '.$e->getFile().', line: '.$e->getLine().'.';
}
return false;
}
function login($user, $pass)
{
try
{
//user angegeben
if(is_null($user)) throw new Exception("Es wurde kein Username eingegeben!");
else $this->user = $user;
//pass angegeben
if(is_null($pass)) throw new Exception("Es wurde kein Passwort eingegeben!");
else ($this->pass = $pass);
if (radius_create_request($this->handle, RADIUS_ACCESS_REQUEST) != RADIUS_ACCESS_ACCEPT) throw new Exception("can't create request(".radius_strerror($this->handle).")");
else
{
if (!radius_put_string($this->handle, RADIUS_USER_NAME, $this->user)) throw new Exception("put string failed(".radius_strerror($this->handle).")");
else
{
if (!radius_put_string($this->handle, RADIUS_USER_PASSWORD, $this->pass)) throw new Exception("put string failed(".radius_strerror($this->handle).")");
else
{
if(radius_send_request($this->handle)==RADIUS_ACCESS_ACCEPT) return true;
}
}
}
}
catch (Exception $e)
{
echo $e->getMessage();
echo ' in '.$e->getFile().', line: '.$e->getLine().'.';
}
return false;
}
}
if($login = new CLogin())
{
//Objekt vom Typ CLogin erstellt..werden mir grad schon user&pass geschickt? ja:checken, nein:formular anzeigen
if(isset($_POST['user']) && isset($_POST['pass']))
{
if($login->login($_POST['user'], $_POST['pass'])) {
session();
}
else echo "<div style=\"font-color:red\" align=\"center\">
Benutzername/Kennwort falsch!<br />Ihre Logindaten sind
leider falsch, bitte probieren Sie es erneut!<br>
<a href='index_comm.php'>Zurück</a></div>";
}
} else die("Es konnte kein CLogin-Objekt erstellt werden!");
?>