// kui küpsisega sessioon a = sess_id, siis see on kõige esimesem asi, mida kontrollida if (isset($_COOKIE['a'])) { // kui küpsis - valideeri sessioon. kui OK, suuna edasi kui ei ole OK, siis jätka sso'ga. $w->cookie = substr($_COOKIE['a'], 0, 32); if (!isset($_POST['login']) && !(isset($_GET['a']) && $_GET['a'] == 'no-intra-et' || $_GET['a'] == 'no-intra-en')) { if (!isset($d)) { // sessiooni andmed paiknevad DB's $d = new DATABASE(); $d->debug = $w->debug; if (!$d->connect(DB_HOST, DB_USER, DB_PASS, DATABASE)) { $t->errors[ERROR][] = 'C001.1 ' . $l->txt_err_open_database; } } $s = new SESSION($d); $s->debug = $w->debug; if ($s->validate($w->cookie)) { $w->sess_id = $w->cookie; $auth_method = 'cookie'; $authok = true; } else { // create a syslog entry syslog(LOG_NOTICE, sprintf("Cookie no longer valid. remote_addr: %s session: %s method: %s token: %s", $w->remote_addr, $w->cookie, $auth_method, $o->token)); } unset($s); // enam pole vaja } } } else { if (!$authok && $w->allow_sso) { if (substr($w->remote_addr, 0, 8) == '192.168.') { // SSO serverile suuna ainult siis, kui kasutajat pole sealt juba tagasi saadetud