Autorizace pomocí SSO

Re: Autorizace pomocí SSO

autor Vladimir Franc -
Počet odpovědí: 0
Dobrý den,
trochu rozšíření problému SSO. Potřebuji ověřit uživatele pomocí tiketu, který mám v databázi na serveru. V případě, že je tiket platný a vrátí se mi hodnota true, jak mám Moodlu sdělit, že jde o autentizovaného uživatele? I když zapnu debug info, tak se toho moc nedozvím, zda se něco děje, či ne...
Snad z kódu bude patrné, to čeho chci docílit
if ($o!='' && $SsoTicket!='') {

$user_login = '';

$SERVER_SSO = 'database adress';
$LOGIN_SSO = 'login';
$HESLO_SSO = 'password';
$NAZEV_DATABAZE_SSO = 'database name';

$dbSSO = mssql_connect($SERVER_SSO, $LOGIN_SSO, $HESLO_SSO);
$dbFound = mssql_select_db($NAZEV_DATABAZE_SSO,$dbSSO);

if ($dbFound) {
$querySSO=" select TOP 1 LOGIN as LOGIN from _APPL_SSO_TICKETS
inner join _APPL_INTERFACE_PERSON on _APPL_INTERFACE_PERSON.LOGIN = _APPL_SSO_TICKETS.LOGIN
where _APPL_SSO_TICKETS.VALID >= getdate()
and _APPL_INTERFACE_PERSON.VALID = 1
and _APPL_INTERFACE_PERSON.UCO = '".$o."'
and TICKET_ID = '".$SsoTicket."'; ";
$resSSO=mssql_query($querySSO,$dbSSO);

if ($dbField = mysql_fetch_assoc($resSSO)) {
$user_login = $dbField['LOGIN'];
}
}
mssql_close($dbSSO);

if ($user_login != ''){
$user = $DB->get_record('user', array('username'=>$user_login, 'mnethostid'=>$CFG->mnet_localhost_id));
return true;
}
else{
return false;
}
}
return false;