| Si habia leido algo de redefinir las rutas pero no pude hacerlo, por ejemplo con la parte del update que me muestra el id. Se puede dejar: modulo/action/update/2 o ni siquiera el numero del id? murkein --- El jue 7-may-09, oyepez003 <oyep...@gmail.com> escribió: |
|
| y despues de todo ese proceso tan engorroso, como queda la url /noticias/update/id/1? Otra cosa, si me pongo a inventar eso del slug, tengo que redefinir todas mis tablas en la bd ? murkein --- El vie 8-may-09, Sebastian M <sebastian....@gmail.com> escribió: |
|
| Bueno, es cierto eso de los id, pero vamos a suponer que se lo ponga ( Es lo mas probable por lo de la vista de los id's) Cuando genere el modelo y los nuevos forms, en que variaría todo esto? murkein |
--- El vie 8-may-09, Sebastian M <sebastian....@gmail.com> escribió: |
|
Me parece interesante lo expuesto sobre slug, pero creo que eso es
interesante según el caso.
Si tienes una aplicación o web, donde se ve todo públicamente, pues
puede interesar.
En mi caso es una aplicación donde sólo los usuarios registrados pueden
acceder. Por mucho que pongan http://dominio/modulo/accion/id/X no van a
poder hacer nada si no están autenticados.
No es por críticar, sólo es mi opinión y puede ser erronea. Que en tal
caso, se acepta una corrección.
--
Saludos cordiales.
Pablo.
Esperaba que me dijeras esto. :-D
Yo para estos casos tengo una solución efectiva.
En mi caso, los usuarios pertenecen a empresas. Los usuarios de una
misma empresa pueden crear, ver, modificar y borrar lo que pertenezca a
sus empresas. La seguridad a implementear, en este caso, es para que los
usuarios de una empresa no puedan hacer nada con la información de las
otras empresas.
En el formulario de login, cuando un usuario se "loguea" recoge el
número de empresa como un atributo.
Luego en la acción de los modulos pongo esto, que comprueba si la
empresa a la que pertenece el usuario que ejecuta es la misma que a la
ue pertenece el registro que quiere ejecutar:
public function preExecute(){
if($this->getActionName()== 'edit' || $this->getActionName()== 'delete'){
$valor= EmpleadosPeer::retrieveByPK($this->getRequestParameter('id'));
if($valor->getEmpresa()!=
sfContext::getInstance()->getUser()->getAttribute('numEmpresa')){
$this->forward('empleados', 'index');
}
}
}
Espero que se entienda la idea.
--
Saludos cordiales.
Pablo.
Si, lo había pensado, y se puede solucionar muy facilmente.
Con lo que tu dices sería un problema si un usuario que tiene acceso a
varias empresas tratará de acceder modificando la URL a datos de alguna
de las empresas a las que tiene acceso. En ese caso, lo que he mostrado
antes no le dejará hacerlo.
Para solucionar eso, tengo diseñado un formulario que le permite cambiar
de empresa y luego manipular los datos de esta.
Sencillo y efectivo.
--
Saludos cordiales.
Pablo.
Completamente de acuerdo.
Iba a preguntarte que mas daba que en la url se viera
noticias/ver/mercado_laboral que noticas/ver/id/1, pero ya me lo has
contestado.
Yo de momento no lo voy a implementar. Demasiado trabajo. ;-D
Mas adelante ya lo probare.
--
Saludos cordiales.
Pablo.
| A la final, hay que validar en cada action de los modulos con seguridad por el id del usuario actual? Yo tengo que hacer dos aplicaciones en donde en la app x solo entren usuarios x y en app y solo se logueen usuarios Y. No hay problema con eso? murkein --- El vie 8-may-09, Pablo Braulio <bru...@gmail.com> escribió: |
|
|
1) Abre un hilo Nuevo para tu pregunta que nada tiene que ver con la anterior (no secuestres los hilos)
2) Aclara un poco mejor lo que quieres, personalmente, no entendí nada por lo que no puedo ayudarte
Un saludo
Ing. Reynier Pérez Mira
Dirección Técnica IP