Grazie per le risposte date fin ora, sei stato di grande aiuto.

Ti consiglio però di non legare l'autenticazione alla presenza della sessione, ma ad una variabile contenuta in essa, di cui stabilisci l'unset() in caso di determinati eventi (ad es. timeout, logoff, apertura pagine esterne all'area login...).
Potresti farmi qualche esempio per capire meglio cosa dici?