hola , gracias por sus respuestas ...
Cita:
Iniciado por enriqueplace Que tal pgryu, estás usando algún framework en particular?
Por ejemplo, con Zend puedes decirle al método preDispatch que haga verificaciones antes de iniciar cualquier acción de controller, a su vez puedes crear un controller genérico donde todos los demás hereden y generen validación por sesiones.
Puedes hacer uso de Zend_Acl como también algo más artesanal, como validar a qué controllers / actions tiene acceso el usuario y a cuales no.
Son ideas nada más
en realidad no estoy haciendo uso de ningun framework, estoy haciendo un proyecto personal aun no "hosteado" en internet .... pero ya lo colgare cuando acabe mi primera seccion les pedire que le den una miradita a ver que opinan
lo que dices enrique sobre el controller generico como que se me ocurrio .... osea .... pense en crear un metodo o accion en mi clase baseController que valide si el usuario tiene acceso o no a determinada accion .... y creo que es lo que quieres decir no? ..... si es asi, me pondre a hacerlo de esa manera
mas bien .. estaba pensando y tengo una pequeña duda .... por ejemplo .... ESTOY DESLOGUEADO .... entro a la pagina de listado de "amigos por conocer" ... pero al seleccionar a uno de ellos .... debo entrar a ver su detalle (osea sus fotos, email, etc) ..... pero como NO estoy logueado, me manda a mi pagina de LOGUEO ..... aca la duda :
Normalmente cuando uno se loguea, te validas con la BD y te vas para el index .... pero aca no quiero eso, sino que me redireccione a la ultima pagina antes de que me manden a Loguearme .... se me ocurrio que podia como que almacenar en una variable session la ultima URL "mostrada" antes de enviarme a mi pagina de logueo ... o algo asi ... pero no sabria como ... tal vez con alguna sentencia de $_SERVER?
Muchas gracias por su ayuda, este foro me esta ayudando muchisimo ... ojala algun dia pueda aprender mucho mas y apoyar a los nuevos como yo
Saludos
Cita:
Iniciado por Webstudio pgryu, estaría bueno que nos comentes como te dijeron antes, si estás utilizando algún Framework en particular, o si estás con uno de factoría propia.
Pero conceptualmente, la idea es que ante cada petición revises los roles del usuario logueado (si lo hubiera, sino le asignas un rol más bajo existente a un visitante) y luego identifiques si ESE rol en particular, tiene acceso a la acción que estás a punto de ejecutar.
Si tuviera acceso, ningún problema, continúa la ejecución, pero de no tener permisos, sería conveniente que lo redirijas a un formulario de login para que ingrese. Pero recuerda, en tu sesión solo deberías tener la menor cantidad de información necesaria. El nombre de usuario y el rol, alcanzan para realizar las comprobaciones.
Saludos !
muchas gracias por tu respuesta webstudio ... a ver si te entendi bien ...
primero que nada. .... no hago uso de un framework como dije en mi post anterior ... nada mas estoy en una programacion en capas .. o al menos intento :D hehe .... en base a un tutorial de MVC que encontre en la red ...
segundo ... creo que ya me quedo claro que antes de iniciar alguna accion (o metodo) de alguna controladora, tendre que verificar si el usuario determinado debe entrar o no a realizar esa accion ...
y tercero ... aca ya viene lo que me planteas .... me hablas de ROLES ... es decir que cuando yo registro un cliente, le asigno un nivel determinado de permisos en la BD ... cosa que cuando yo recupero la informacion ya se de que TIPO de usuario de trata y su nivel de permiso verdad???
por ejemplo .... tengo una tabla CLIENTES con nombre, edad, email, etc y su campo TIPO_USER .... pero aparte tengo otra tabla llamada PERMISOS en la cual figuran los campos TIPO_USER, NOMUSER y ROL ... ..... o me equivoco?????
esto ya es a mi modo de ver un nivel restrictivo que yo no habia considerado y mucho mas interesante sin duda alguna ... sin embargo creo que por ahora para mi proyectito no lo necesitare ... pero de todas maneras muchas gracias por la sugerencia amigo
eso si te agradeceria bastante me digan si me equivoco en alguna de mis percepciones.
saludos, y espero me puedan ayudar en mi duda de mi post anterior
Gracias