bueno claro aqui pongo lo que tengo
en
app/controllers/usarios_controller.php
<?php
> class UsuariosController extends AppController {
> var $name = 'Usuarios';
> function index () {
> $this->set('usuario',$this->Usuario->findall());
> }
>
>
> function login () {
>
> $this->set('error', false);
> if (!empty($this->data))
> {
> //Primero, veamos si hay usuarios en la base de datos
> //con el nombre de usuario proporcionado por el usuario
> //utilizando el formulario:
>
> $someone =
> $this->Usuario->findByUsuario($this->data['Usuario']['usuario']);
>
> //En este punto, $someone está lleno con datos del usuario, o
> está vacío.
> //Comparemos la contraseña proporcionada a través del
> formulario con la
> //almacenada en la base de datos.
>
> if(!empty($someone['Usuario']['passwd']) &&
> $someone['Usuario']['passwd'] == $this->data['Usuario']['passwd'])
> {
>
> //Nota: esperanzado en que las contraseñas estén ofuscadas
> en la base de datos,
> //tu comparación podría verse más como:
> //md5($this->data['User']['password']) ==
> ...
>
> //Esto significa que estas son iguales. Ahora podemos
> construir alguna información básica de
> //sesión para recordar este usuario como con
> 'sesión-iniciada'
>
> $this->Session->write('Usuario', $someone['Usuario']);
>
> //Ahora que tenemos a los usuarios registrados en una
> sesión, redireccionémoslos a
> //la página de recibimiento para la aplicación.
>
> $this->redirect('/usuarios/index');
> }
> //Caso contrario, han provisto datos incorrectos:
> else
> {
> //Recuerdas la variable $error en la vista? Cambiemos su
> valor a verdadero:
>
> $this->set('error', true);
> }
> }
> }
> function logout()
> {
> //Redirecciona usuarios a esta acción si hacen click en el botón
> Cerrar Sesión.
> //Todo lo que necesitamos hacer aquí es destruir la información de
> sesión.
>
> $this->Session->delete('Usuario');
>
> //Y probablemente deberíamos redireccionarlos a alguna parte,
> también...
>
> $this->redirect('/');
> }
>
> }
> ?>
>
en app/app_controller.php
<?php
class AppController extends Controller
{
function checkSession()
{
//Si la información de sesión no ha sido definida...
if (!$this->Session->check('Usuario'))
{
//Forza al usuario a iniciar sesión
$this->redirect('/usuarios/login');
exit();
}
}
function beforeFilter()
{
$this->checkSession();
}
}
?>
y en la vista tengo
app/views/login.thtml
<?php if ($error): ?>
> <p>El usuario o contraseña no son validos, por favor intente de
> nuevo.</p>
> <? endif; ?>
> <form action="<?php echo $html->url('/usuarios/login'); ?>" method="post">
> <div align="center">
> <p>Bienvenido al Programa de EPS</p>
> <div>
> <label for="username">Usuario:</label>
> <?php echo $html->input('Usuario/usuario', array('size' =>
> 20)); ?>
> </div>
> <div>
> <label for="password">Contraseña:</label>
> <?php echo $html->password('Usuario/passwd', array('size' =>
> 20)); ?>
> </div>
> <div>
> <?php echo $html->submit('Acceder'); ?>
> </div>
> </div>
> </form>
>
es el ejemplo que esta en el manual
2008/4/30 <[EMAIL PROTECTED]>:
>
> Huy tal vez deberias mandar las funciones que hiciste para poder ver
> que esta mal...
>
> --
> ----------------------------------
> http://www.metabolivia.com
>
> >
>
--
Cordialmente,
ING. HERNAN DURAN SANCHEZ
[EMAIL PROTECTED]
[EMAIL PROTECTED]
[EMAIL PROTECTED]
Skype: randuh
Blog: http://lamentehueca.blogspot.com
--~--~---------~--~----~------------~-------~--~----~
Has recibido este mensaje porque estás suscrito a Grupo "CakePHP-es" de Grupos
de Google.
Si quieres publicar en este grupo, envía un mensaje de correo
electrónico a [email protected]
Para anular la suscripción a este grupo, envía un mensaje a [EMAIL PROTECTED]
Para obtener más opciones, visita este grupo en
http://groups.google.com/group/CakePHP-es?hl=es.
-~----------~----~----~----~------~----~------~--~---