Example #1
0
File: main.php Project: jotttt/auth
    // 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