È giusto mantenere le autorizzazioni degli utenti nella sessione di php?

0

Cerco di integrare le autorizzazioni per l'utente e voglio trovare il modo migliore per farlo. Penso di salvare tutte le autorizzazioni dell'utente nella sessione al momento dell'accesso, ma quando l'autorizzazione verrà modificata dall'amministratore, non so come controllarlo.

Ecco perché non sono sicuro se questo è il modo giusto.

    
posta Alexandru Gojinetchi 01.05.2018 - 14:29
fonte

2 risposte

0

Va bene finchè lo stai trattando solo come cache e applichi qualche decente meccanismo di riconvalida.

È possibile salvare alcuni token per ciascun utente (ad esempio nel database), che dovrebbe cambiare quando l'amministratore modifica i permessi di un determinato utente. Quindi su ogni visualizzazione di pagina è necessario confrontare il token dalla sessione con il token nel database. Se differiscono, è necessario aggiornare le autorizzazioni salvate in sessione con l'origine. In questo modo dovresti sempre disporre dell'autorizzazione aggiornata in sessione.

    
risposta data 06.05.2018 - 21:32
fonte
0

Una soluzione migliore sarebbe avere il user_id nella sessione, o un session_id che può essere usato per cercare le autorizzazioni dell'utente (da un database). Memorizzare le autorizzazioni nella variabile $_SESSION di per sé renderebbe difficile gestire le autorizzazioni dalla prospettiva di amministrazione senza disattivare / resettare esplicitamente $_SESSION['permissions'] per la sessione dell'utente richiesta. Sembra disordinato ..

Se è gestito nel database, l'amministratore può semplicemente modificare le autorizzazioni per l'utente specifico lì, e la modifica sarà immediata, e quando l'utente viene guardato, avrà le autorizzazioni.

    
risposta data 07.05.2018 - 23:37
fonte

Leggi altre domande sui tag