private function _renameSession($ticket)
{
phpCAS::traceBegin();
if ($this->getChangeSessionID()) {
if (!empty($this->_user)) {
$old_session = $_SESSION;
phpCAS::trace("Killing session: " . session_id());
session_destroy();
// set up a new session, of name based on the ticket
$session_id = preg_replace('/[^a-zA-Z0-9\\-]/', '', $ticket);
phpCAS::trace("Starting session: " . $session_id);
session_id($session_id);
session_start();
phpCAS::trace("Restoring old session vars");
$_SESSION = $old_session;
} else {
phpCAS::trace('Session should only be renamed after successfull authentication');
}
} else {
phpCAS::trace("Skipping session rename since phpCAS is not handling the session.");
}
phpCAS::traceEnd();
}