ecco il mio sistema:

una tabella sessioni (id_sessione,id_user,permessi,scadenza)

una tabella user (id_user,nome,password)

quando ti loggi, viene creato un record nella tabella sessione
con l'id_sessione pari all'id_session che ti viene restituito se all'inizio delle tue pagine collocherai session_start()

in ogni pagina da proteggere, controllo che esista una sessione con id_sessione=id_session e in quel caso prelevo i permessi per utilizzarli a piacimento.

questa e' solo una carrellata del metodo che utilizzo. ce ne sono altri (io non li conosco bene pero' )