echo begin_page(getSettingValue("company").get_vocab("deux_points").get_vocab("mrbs"),"no_session"); if (lassospkit_userid() == NULL) { if (getUserName()!='') { lassospkit_set_userid(getUserName()); echo get_vocab('lasso_federated'); } else { echo get_vocab('lasso_please_connect'); } echo "<br />"; echo "<a href='{$_SERVER['HTTP_REFERER']}'>".get_vocab('back').'</a>'; } else { echo get_vocab('lasso_already_federated'); echo "<ul>"; echo "<li>" . get_vocab('lasso_local_user') . ": <code>" . lassospkit_userid() . "</code></li>"; $idps = lassospkit_nameid(); foreach($idps as $idp => $nameid) { echo "<li>"; echo get_vocab('lasso_nameid_for_idp') . " <code>$idp</code> : <code>$nameid</code>"; echo "</li>"; } echo "</ul>"; }
$tab_login["email"] = ""; // S'il y a des attributs supplémentaires, on les utilise $attributes = lassospkit_get_assertion_attributes(); if ($attributes) { // Get infos from the Identity Provider $user_infos = array(); // Nom Prénom list($tab_login['nom'], $tab_login['fullname']) = split(' ', $attributes['cn'][0]); $tab_login['email'] = $attributes['mail'][0]; // Pour l'instant on ne redéfinit pas le login //$tab_login['???'] = $attributes['username'][0]; } $result = grr_opensession($login, $password, $user_ext_authentifie, $tab_login); // Stocker le nameid dans la session pour se souvenir que c'est // un login lasso $_SESSION['lasso_nameid'] = lassospkit_nameid(); // Ne plus réutiliser la session spkitlasso courante, pour // éviter les problèmes de nettoyage au logout distant lassospkit_set_nameid(null); lassospkit_clean(); // On écrit les données de session et ferme la session session_write_close(); $message = ''; if ($result == "2") { $message = get_vocab("echec_connexion_GRR"); $message .= " " . get_vocab("wrong_pwd"); } else { if ($result == "3") { // L'utilisateur existe déjà $message = get_vocab("echec_connexion_GRR"); $message .= "<br />" . get_vocab("importation_impossible");
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"); if ((getUserName()=='') && !$defederated) { echo get_vocab('lasso_please_connect'); } else if (lassospkit_nameid() == NULL) { echo get_vocab('lasso_defederated'); } echo "<br />"; echo "<a href='{$_SERVER['HTTP_REFERER']}'>".get_vocab('back').'</a>';