un po' come immaginavo... ci può essere un errore nella logica per cui non viene mai raggiunto il redirezionamento voluto... in particolare non metterei mai un redirezionamento così dentro i metodi, secondo me ci vuole un metodo che restituisce l'azione o che ingloba tutti i casi, tipo:

codice:
if ($REDIR = $auth->Redir()) {
 header("Location: ".$REDIR); exit;
};
oppure direttamente mettendo header dentro il metodo, che cmq si occupa di controllare la tipologia di utente e di scegliere l'url di destinazione (eventualm. richiamando altri metodi privatamente)... cmq a "IsAuth" e agli altri simili farei solo restituire un booleano, tipo:


Codice PHP:
public function IsAuth() { 
  return(isset(
$_SESSION['auth']));