Beispiel #1
0
function delete_user($login)
{
    $sql = "SELECT source FROM " . TABLE_PREFIX . "_utilisateurs\n\t    WHERE login LIKE '{$login}'";
    $res = grr_sql_query($sql);
    $row = grr_sql_row($res, 0);
    $source = $row[0];
    if ($source == 'ext') {
        // Si l'utilisateur avait été créé automatiquement, on le
        // supprime
        // Cf. admin_user.php l99 et l203
        $sql = "DELETE FROM " . TABLE_PREFIX . "_utilisateurs WHERE login='******'";
        if (grr_sql_command($sql) < 0) {
            fatal_error(1, "<p>" . grr_sql_error());
        } else {
            grr_sql_command("DELETE FROM " . TABLE_PREFIX . "_j_mailuser_room  WHERE login='******'");
            grr_sql_command("DELETE FROM " . TABLE_PREFIX . "_j_user_area      WHERE login='******'");
            grr_sql_command("DELETE FROM " . TABLE_PREFIX . "_j_user_room      WHERE login='******'");
            grr_sql_command("DELETE FROM " . TABLE_PREFIX . "_j_useradmin_area WHERE login='******'");
            grr_sql_command("DELETE FROM " . TABLE_PREFIX . "_j_useradmin_site WHERE login='******'");
        }
        // Fin de la session
        grr_closeSession($_GET['auto']);
    }
    // sinon c'est source="local": on le garde et il y a toujours accès
    // classique login/mot de passe).
}
Beispiel #2
0
                    }
                }
                if ($message != '') {
                    fatal_error(1, $message);
                    die;
                }
                if (grr_resumeSession()) {
                    header("Location: " . htmlspecialchars_decode(page_accueil()) . "");
                    die;
                }
            } else {
                // L'utilisateur n'a pas été identifié'
                if (Settings::get("authentification_obli") == 1) {
                    // authentification obligatoire, l'utilisateur est renvoyé vers une page de connexion
                    require_once "include/session.inc.php";
                    grr_closeSession($_GET['auto']);
                    header("Location:" . LCS_PAGE_AUTHENTIF);
                } else {
                    header("Location: " . htmlspecialchars_decode(page_accueil()) . "");
                }
                // authentification non obligatoire, l'utilisateur est simple visiteur
                die;
            }
        }
    }
}
// Cas d'une authentification Lasso
if (Settings::get('sso_statut') == 'lasso_visiteur' || Settings::get('sso_statut') == 'lasso_utilisateur') {
    require_once SPKITLASSO . '/lassospkit_public_api.inc.php';
    if (lassospkit_nameid() == NULL) {
        // S'il y a eu une erreur et que l'on revient, afficher
Beispiel #3
0
 function handleSlo($ret)
 {
     //error_log("handleSlo");
     $r = $this->relayState;
     if ($this->currentHttpMethod == LASSO_HTTP_METHOD_GET && $this->currentHttpMethod == LASSO_HTTP_METHOD_POST) {
         $this->headerHtml("SLO endpoint", $r);
         if ($ret) {
             echo "Demande de slo échoué: " . strError($ret) . "({$ret})";
         } else {
             echo "Demande de slo réussie";
         }
         echo "Go to <a href='{$r}'>{$r}</a>";
         $this->footerHtml();
         lassospkit_clean();
         grr_closeSession($_GET['auto']);
     } else {
         # Specialized
         $id = lassospkit_userid();
         if (isset($id)) {
             //error_log("Trying to destroy session $id");
             chdir("..");
             global $dbsys;
             require_once "./include/config.inc.php";
             include "./include/connect.inc.php";
             require_once "./include/{$dbsys}.inc.php";
             require_once "./include/functions.inc.php";
             require_once "./include/session.inc.php";
             // See admin_view_connexions.php:67
             $sql = "SELECT session_id FROM " . TABLE_PREFIX . "_log\n                      WHERE login = '******'\n                      AND end > NOW()";
             $res = grr_sql_query($sql);
             if ($res) {
                 for ($i = 0; $row = grr_sql_row($res, $i); $i++) {
                     $php_session_id = $row[0];
                     //error_log("Erasing GRR session $php_session_id");
                     session_id($php_session_id);
                     // delete spkitlasso session if necessary
                     @session_start();
                     lassospkit_set_nameid(@$_SESSION['lasso_nameid']);
                     lassospkit_clean();
                     // delete GRR session
                     $auto = 0;
                     grr_closeSession($auto);
                     // Done by grr_closeSession:
                     //session_start();
                     //session_destroy();
                 }
             }
         }
     }
     if ($ret) {
         error_log("Demande de slo échoué: {$ret}");
     } else {
         //error_log("Demande de slo réussie: $ret");
     }
     return $ret;
 }
Beispiel #4
0
require_once("./include/config.inc.php");
include "./include/connect.inc.php";
include "./include/misc.inc.php";
require_once("./include/$dbsys.inc.php");
require_once("./include/session.inc.php");
require_once("./include/settings.inc.php");
grr_resumeSession();
require_once(SPKITLASSO.'/lassospkit_public_api.inc.php');
require_once('./lasso/delete_user.php');

$defederated = false;
if (lassospkit_nameid() != NULL && (getUserName()!=''))
{
  $login = getUserName();
  $auto = 0;
  grr_closeSession($auto);
  delete_user($login);

  lassospkit_soap_defederate();
  // s'assurer de supprimer toute trace locale
  lassospkit_clean();
  $defederated = true;
}


//Chargement des valeurs de la table settingS
require_once("./include/language.inc.php");
require_once("./include/functions.inc.php");

echo begin_page(getSettingValue("company").get_vocab("deux_points").get_vocab("mrbs"),"no_session");