Sobre el sistema de autentificación .. (basado en sesiones) podrías ver:
<spam>
Autentificator
http://php.cluster-web.com/autentificator/
</spam>
Dentro de la configuración de sesiones del php.ini dispones de la directiva:
session.gc_maxtimelife que define el tiempo de vida de un SID (Identificador único de sesión).
No es la única directiva que influye en el tiempo de vida de una sesión .. pero es una de las más importantes.
Ahora .. para que "PHP" te "tire" de la página que estás viendo en el cliente a esos "5 minutos" que configurarías en session.gc_maxtimelife .. debes "recargar" la página constantemente (o bien con otras técnicas de "frames/iframes" ocultos para no tener una "recarga" de página "aparente").. Esa recarga de página la haces desde Javascript/<meta de refresh> HMTL o similar (en el "lado del cliente") .. Lo demás lo harán las validaciones de la existencia de las sesiones (un "if" de tu aplicacion ya lo hará) bajo el SID que las creo (eso lo hace automáticamente PHP).
Un saludo,