Projet

Général

Profil

eoleclient.php.diff

Sylvain GODME, 20/05/2012 08:34

Télécharger (2 ko)

Voir les différences:

/home/sgodme/dev-iew-scribe/eoleclient.php
130 130
           phpCAS::log("  - La session a déjà été supprimée !!");
131 131
        }
132 132
        $this->remove_stored_session_id($ticket, $session_id);
133
    }
134
    /*
135
     * Fonction pour tenir compte des applis qui gèrent elles-même les id de session
136
     * notamment si l'id de session change au cours du temps (utilisation de session_regenerate_id)
137
     * dans l'application */
138
    function change_session_id($ticket, $new_session_id){
139
    	/*
140
	 * Met à jour l'id de session associé au ticket 
141
         */
142
        phpCAS::traceBegin();
143
	phpCAS::LOG("## Modification de l'identifiant session associée au ticket : '" . $ticket ."'.");
144
        if (!is_dir(TICKET_BDD_PATH)){
145
            phpCAS::LOG("!!!! Le répertoire pour la bdd de gestion des tickets n'existe pas !!!!");
146
            phpCAS::traceEnd();
147
            return;
148
        }
149
        if (!$db = sqlite_open(TICKET_BDD)){
150
            phpCAS::LOG("!!!! Impossible d'ouvrir la base de données pour le changement de l'id de session !!!!");
151
            phpCAS::traceEnd();
152
	    return;
153
        }
154
	phpCAS::LOG("Le ticket : " . $ticket . " doit être dorénavant associé à la session : " . $new_session_id);
155
        $sql = "UPDATE " . TICKET_TABLE . " SET session_id='" . sqlite_escape_string($new_session_id). "' WHERE ticket='" . sqlite_escape_string($ticket) . "'";
156
	phpCAS::LOG($sql);
157
        if (sqlite_query($db, $sql) && sqlite_changes($db) > 0){
158
            phpCAS::LOG(" + L'id de session a été modifié dans la base de données.");
159
	    phpCAS::traceEnd();
160
        }
161
	else {
162
	    phpCAS::LOG(" - L'id de session n'a pas pu être modifié dans la base de données !! La session de l'application ne pourra pas être supprimée lors d'un appel de déconnexion centralisée !!");
163
	    phpCAS::traceEnd();
164
	}
165
	phpCAS::traceExit();
133 166
    }
134 167
    function EoleLogoutRequests($check_client=true, $allowed_clients=false){
135 168
        /*