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ñ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Ó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ñ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ñ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
> >
> > >
> >
>
>
> --
> ----------------------------------
> 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.
-~----------~----~----~----~------~----~------~--~---