implements wish 145 : authentification en melix
authorPascal Corpet <pascal.corpet@m4x.org>
Wed, 12 Jan 2005 22:00:39 +0000 (22:00 +0000)
committerFlorent Bruneau <florent.bruneau@polytechnique.org>
Thu, 26 Jun 2008 21:27:31 +0000 (23:27 +0200)
git-archimport-id: opensource@polytechnique.org--2005/platal--mainline--0.9--patch-306

include/xorg/session.inc.php

index 5d6a71e..18c5fa7 100644 (file)
@@ -74,23 +74,13 @@ class XorgSession extends DiogenesCoreSession
             $session =& Session::getMixed('session');
         }
 
-        if (Env::has('domain')) {
-            if (($domain = Env::get('domain', 'login')) == 'alias') {
-                setcookie('ORGdomain', "alias", (time()+25920000), '/', '', 0);
-            } else {
-                setcookie('ORGdomain', '', (time()-3600), '/', '', 0);
-            }
-            // pour que la modification soit effective dans le reste de la page
-            $_COOKIE['ORGdomain'] = $domain;
-        }
-
         if (Env::has('username') && Env::has('response') && isset($session->challenge))
        {
            // si on vient de recevoir une identification par passwordpromptscreen.tpl
            // ou passwordpromptscreenlogged.tpl
             $uname = Env::get('username');
             
-            if ($domain == "alias") {
+            if (Env::get('domain') == "alias") {
             
                 $res = $globals->xdb->query(
                     "SELECT redirect
@@ -119,6 +109,16 @@ class XorgSession extends DiogenesCoreSession
            if (list($uid, $password) = $res->fetchOneRow()) {
                $expected_response=md5("$uname:$password:{$session->challenge}");
                if (Env::get('response') == $expected_response) {
+                    if (Env::has('domain')) {
+                        if (($domain = Env::get('domain', 'login')) == 'alias') {
+                            setcookie('ORGdomain', "alias", (time()+25920000), '/', '', 0);
+                        } else {
+                            setcookie('ORGdomain', '', (time()-3600), '/', '', 0);
+                        }
+                        // pour que la modification soit effective dans le reste de la page
+                        $_COOKIE['ORGdomain'] = $domain;
+                    }
+
                    unset($session->challenge);
                    if ($logger) {
                        $logger->log('auth_ok');