pues la verdad no me sirvio tu metodo me saca errores en varias partes y eso
que lo adapte a mi base de datos, gracias de todos modos, he estado mirando
y el .htaccess lo modifique con algo que encontre en el foro de ingles pero
tampoco me sirvio

2008/4/30 <[EMAIL PROTECTED]>:

>
> Si yo tambien vi ese ejemplo bueno este es el que tengo y no tengo
> problemas:
>
> Controlador admin:
>
> function login()
>                {
>                        $this->layout = 'AdminIndex';
>                        if(!empty($this->data))
>                        {
>                                $dbuser =
> $this->Admin->findByUsername($this->data['Admin']['username']);
>                                if(!empty($dbuser) &&
> ($dbuser['Admin']['password'] ==
> md5($this->data['Admin']['password'])))
>                                {
>                                        $this->Session->write('Admin',
> $dbuser);
>                                        $dbuser['Admin']['last_login'] =
> date("Y-m-d H:i:s");
>                                        $this->Admin->save($dbuser);
>
>  $this->redirect('/admin_projects/');
>                                }
>                                else
>                                {
>                                        $this->set('mensaje', 'El "Usuario"
> y/o la "Contrase&ntilde;a"
> son incorrectos...');
>                                }
>                        }
>                }
>
> El app_controller:
>
> <?php
>        class AppController extends Controller
>        {
>        function checkSession()
>        {
>                 if (!($this->Session->check('Admin')))
>                {
>                        $this->redirect('/admins/');
>                exit();
>                }
>        }
>        }
> ?>
>
> y la vista:
>
> <form action="<?php echo $html->url('/admins/index/'); ?>"
> method="post" id="FormStyle">
>        <fieldset class="Cfieldset">
>                <legend class="Clegend"> INICIAR SESI&Oacute;N </legend>
>        <p>
>                <?php echo $form->labelTag('Admin/username', 'Usuario:');
> ?><br />
>                <?php echo $html->input('Admin/username',
> array('size'=>'30',
> 'class'=>'Cinput')); ?>
>        </p>
>        <p>
>                <?php echo $form->labelTag('Admin/password',
> 'Contrase&ntilde;a:'); ?><br />
>                <?php echo $html->password('Admin/password',
> array('size'=>'30', 'class'=>'Cinput')); ?>
>                </p>
>                <p>
>                <?php echo $html->submit('Ingresar',
> array('class'=>'Csubmit')); ?>
>                </p>
>                <p>
>                        <?php
>                                if(isset($mensaje))
>                                {
>                                        echo '<div
> class="Mensaje">'.$mensaje.'</div>';
>                                }
>                        ?>
>                </p>
>        </fieldset>
> </form>
>
> Y para cada funcion que no quiero que acceda sin verificarse le meto:
>
> function cualquiera()
> {
> $this->checkSession(); /*este es el codigo*/
> ....
> }
>
>
>
> El 30/04/08, Hernán Durán <[EMAIL PROTECTED]> escribió:
> > 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&ntilde;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&ntilde;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
> >
> > >
> >
>
>
> --
> ----------------------------------
> 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.

-~----------~----~----~----~------~----~------~--~---

Responder a