Foros del Web » Programando para Internet » PHP » Frameworks y PHP orientado a objetos »

Restriccion de usuarios en POO

Estas en el tema de Restriccion de usuarios en POO en el foro de Frameworks y PHP orientado a objetos en Foros del Web. buen dia amigos, aca otra vez molestandolos .......... tengo otra duda .... que debo hacer para restringir mis usuarios a ciertas vistas cuando lo que ...
  #1 (permalink)  
Antiguo 24/08/2009, 19:25
 
Fecha de Ingreso: agosto-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 0
Restriccion de usuarios en POO

buen dia amigos, aca otra vez molestandolos .......... tengo otra duda .... que debo hacer para restringir mis usuarios a ciertas vistas cuando lo que estoy haciendo es un sitio web bajo un patron de MVC?? .... por ejemplo, tengo mis controladoras con sus acciones, y cada una de estas lanza una accion que llamara a una vista para desplegar una plantilla.

Mi pregunta es: donde es que debo controlar el acceso de usuarios a mis plantillas? .... por ahora supongo que deberia preguntar en cada metodo de mi controladora ........ estoy en lo cierto?

Y segundo .... deberia controlar el acceso con solo variables SESSION verdad?.

Gracias y espero su ayuda .... Saludos
  #2 (permalink)  
Antiguo 24/08/2009, 20:03
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Restriccion de usuarios en POO

Así es, la idea es que dentro del controlador tengas la logica para permitir o negar una acción en tu controlador.

Saludos.
  #3 (permalink)  
Antiguo 25/08/2009, 06:33
Avatar de enriqueplace  
Fecha de Ingreso: mayo-2005
Ubicación: Uruguay / Argentina
Mensajes: 1.102
Antigüedad: 19 años
Puntos: 32
Respuesta: Restriccion de usuarios en POO

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
__________________
Blog phpsenior.com Cursos a Distancia surforce.com
  #4 (permalink)  
Antiguo 25/08/2009, 09:55
Avatar de Webstudio
Colaborador
 
Fecha de Ingreso: noviembre-2001
Ubicación: 127.0.0.1
Mensajes: 3.499
Antigüedad: 22 años, 6 meses
Puntos: 69
Respuesta: Restriccion de usuarios en POO

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 !
__________________
Tutoriales Photoshop | Web-Studio.com.ar
Artículos PHP | ZonaPHP.com
  #5 (permalink)  
Antiguo 25/08/2009, 18:52
 
Fecha de Ingreso: agosto-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 0
hola , gracias por sus respuestas ...

Cita:
Iniciado por enriqueplace Ver Mensaje
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 Ver Mensaje
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

Última edición por GatorV; 26/08/2009 a las 08:49
  #6 (permalink)  
Antiguo 26/08/2009, 08:53
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 18 años
Puntos: 2135
Respuesta: Restriccion de usuarios en POO

Exacto, para hacer eso lees lo que esta en $_SERVER['HTTP_REFERRER'] para que veas que pagina es la que venias, y con eso la usas para realizar la redirección a esa pagina.

El tema de roles y permisos es muy amplio, y depende mucho de tu sistema el como lo quieras implementar ya que puede ser muy amplio respecto a las caracteristicas que requieras, o puede ser sencillo.

Saludos.
  #7 (permalink)  
Antiguo 26/08/2009, 15:28
 
Fecha de Ingreso: agosto-2009
Mensajes: 42
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Restriccion de usuarios en POO

gracias por la respuesta
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 17:36.