Pareces nuevo por aquí. Si quieres participar, ¡pulsa uno de estos botones!
function login(){ if ($this->has_post("login","password")){ $pwd = $this->post("password"); $usuario=$this->post('login'); $auth = new Auth("model", "class: usuarios", "login: $usuario", "password: $pwd"); if ($auth->authenticate()) { $this->redirect("principal/index"); } else { Flash::error("Falló"); } } }Me surgio la siguiente duda: supongamos tengo la siguiente situacion: quiero ejecutar una accion de un controlador, la cual requiere que el usuario este registrado, al no estarlo, la accion me direcciona al controlador/accion para el login, una vez registrado seria conveniente que volviera(redireccionara) a la accion que lo llamo , y que esta se ejecute. Ahora bien, donde se guarda/guardo la referencia a la primera accion y como hago esta redireccion? podria ser algo como:
$this->redirect($this->controller_name_old . "/". $this->action_name_old)
Comentarios
¡Éxitos!
Lo mejor es guardar el nombre del controlador original en una variable de sesion (por ejemplo) e invocarla luego en la accion Login. Logicamente, la variable debe ser borrada cuando redirecciones.
Ademas, esta practica es mas segura y util, porque puedes hacer validaciones de acciones, historial de accesos, etc.
Para sistemas complejos es mejor usar ACL
Saludos desde Argentina. <!-- s --><img src="{SMILIES_PATH}/icon_lol.gif" alt="" title="Laughing" /><!-- s -->
Con respecto al REFERER en una pagina sin ajax no habria tanto problema
pero si hay actualizaciones con ajax entonces el REFERER siempre es el host aun cuando se contruyan url del tipo <!-- m --><a class="postlink" href="http://host/controller/action/">http://host/controller/action/</a><!-- m -->.
Damvaz, gracias por tu respuesta, tenes razon con lo del REFERER es inseguro, voy a investigar lo de guardar en sesiones.
Lo de ACL lo desconocia, donde puedo interiorizarme del tema . Gracias.
Ciertamente es inestable usar el referer pero al usar ajax se sometes a eso a menos que sepas donde es util usar y como...
El tutorial te indica como parchear para spirit Beta 1
Saludos desde Argentina!!! <!-- s --><img src="{SMILIES_PATH}/icon_lol.gif" alt="" title="Laughing" /><!-- s -->