Diseñando un sitio bastante complicado con una gran cantidad de ajax ejecutándose en una sola página. Llegué al punto en el que algunos usuarios deben tener permiso específico para hacer cosas y algunos deben ser detenidos de la acción. He configurado funciones de usuario en mi base de datos y todo está funcionando bien, pero me pregunto si existe un método más fácil/seguro para almacenar cada permiso.¿La mejor manera de almacenar permisos de usuario?
Actualmente, cuando un usuario inicia sesión, sus permisos específicos se toman de la base de datos y se cargan en una matriz de sesión. Para verificar si el usuario tiene permiso, simplemente verifico si el permiso está contenido en la matriz. Esto parece lento, y casi como si me falta una solución mejor.
Además, las sesiones aparentemente pueden ser editadas por el usuario ... ¿hay un método más seguro?
He pensado en ejecutar una consulta para cada comprobación, pero eso podría aumentar en gran medida el tiempo de carga para una simple solicitud de ajax.
Estoy abierto a todas y cada una de las ideas. Gracias.
Gracias por explicar el binario, quería ir con algo así cuando primero diseñaba roles. Terminé yendo con 2 tablas db que contienen roles de usuario y permisos indv, lo que tiene más sentido para mí. También podría jurar que vi en algún lugar que era posible extraer sus datos de sesión y editarlos, aunque es difícil. Tal vez no. –
@Capt Otis, como dije, funciona en algunos escenarios, y no en otros. Conoces tu sistema mejor que yo. En cuanto a las sesiones, así es como funciona en PHP, pero debe verificar el sistema que está utilizando. Use Fiddler o Wireshark para examinar el tráfico y ver qué es lo que realmente está viendo su usuario. Si todo lo que se pasa de ida y vuelta es una identificación (que no cambia cuando los valores cambian), entonces estás bien.Si observa más valores que una ID o si nota que la información de la sesión cambia cuando cambian los valores de la sesión, entonces tiene problemas y es mejor que mire de cerca sus sesiones :) – riwalk