Foro de elhacker.net

Programación => PHP => Mensaje iniciado por: bengy en 12 Octubre 2015, 18:55 pm



Título: [Resuelto] problema con login en laravel 5.1
Publicado por: bengy en 12 Octubre 2015, 18:55 pm
mi modelo Usuario.php

Código
  1. <?php
  2.  
  3. namespace App;
  4.  
  5.  
  6.  
  7. use Illuminate\Auth\Authenticatable;
  8. use Illuminate\Database\Eloquent\Model;
  9. use Illuminate\Auth\Passwords\CanResetPassword;
  10. use Illuminate\Contracts\Auth\Authenticatable as AuthenticatableContract;
  11.  
  12.  
  13. class Usuario extends Model implements AuthenticatableContract{
  14.  
  15.    use Authenticatable;
  16.  
  17.   protected $table = 'usuario';
  18.   public $fillable = ['ID_USUARIO','email','NOMBRE','APELLIDO','password','REPITE_PASS'];
  19.   protected $hidden = ['password'];
  20.   public $timestamps   =false;
  21.  
  22.  
  23. }
  24.  


formulario de login
Código
  1.    <body>
  2.  
  3.        @section('sidebar')
  4.  
  5.        @show
  6.        <div id="formulario">
  7.  
  8.        {!! Form::open(array('url' => 'usuarios/ingresar' , 'method'=>'POST')) !!}
  9.        {!! Form::label('ingrese su email')!!}
  10.        {!! Form::email('email')!!}</br>
  11.        {!! Form::label('ingrese su password')!!}
  12.        {!! Form::password('password')!!}</br>
  13.        {!! Form::submit('enviar')!!}
  14.        {!! Form::close()!!}
  15.        </div>
  16.    </body>
  17. </html>
  18.  
  19.  


UsuariosController  es el controlador

Código
  1.  public function store(Request $request)
  2.    {
  3.  
  4.        if (Auth::attempt(['email'=>$request->email , 'password'=>$request->password])) {
  5.            return Redirect::to('biblioteca');
  6.        }
  7.        return Redirect::to('usuarios/ingresar');
  8.    }
  9.  


y las rutas

Código
  1. Route::post('usuarios/ingresar', array('uses' => 'UsuariosController@store'));
  2. Route::get('usuarios/ingresar', array('uses' => 'UsuariosController@ingresarSistema'));

Mod: Dudas sobre PHP van al subforo de PHP. Utilizar etiquetas GeSHi.


Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 12 Octubre 2015, 18:57 pm
no puedo ingresar al sistema, creo que la funcion attempt evalua siempre false

no me sale ningun error solo que no puedo entrar al sistema


Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 12 Octubre 2015, 19:02 pm
para crear usuarios hice esta funcion

Código
  1.   public function crearUsuario(Request $request)
  2.    {
  3.  
  4.       // \App\Usuario::create(Input::all());
  5.        \App\Usuario::create([
  6.            'email'=>$request['email'],
  7.            'NOMBRE'=>$request['nombre'],
  8.            'APELLIDO'=>$request['apellido'],
  9.            'password'=>bcrypt($request['password']),
  10.            'REPITE_PASS'=>$request['repite_pass'],
  11.            ]);
  12.        return Redirect::to('usuarios');
  13.    // el método redirect nos devuelve a la ruta de mostrar la lista de los usuarios
  14.  
  15.    }

ayuda porfavor ya llevo  dias con este problema


Título: Re: problema con login en laravel 5.1
Publicado por: 0roch1 en 12 Octubre 2015, 21:31 pm
Utiliza el GeSHi para resaltar el código (PHP)

(https://i.imgur.com/ruDdAdP.png)

Nunca he utilizado este framework pero lo que haría es ir dejando mensajes para ver en qué parte del código se va quedando.

Por ejemplo colocaría un mensaje en la parte donde posiblemente hay problema, también imprimiría las variables con las que estoy trabajando para ver que no hay problemas con la codificación por ejemplo.

Código
  1. public function store(Request $request)
  2.    {
  3.  
  4.        if (Auth::attempt(['email'=>$request->email , 'password'=>$request->password])) {
  5.           echo "email:".$request->email;
  6.           echo "pass:".$request->password;
  7.           echo "Entra :)";
  8.            return Redirect::to('biblioteca');
  9.        }else {
  10.           echo "No pudo entrar :(";
  11.           return Redirect::to('usuarios/ingresar');
  12.        }
  13.  
  14.    }
  15.  


Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 13 Octubre 2015, 00:30 am
bueno gracias por responder pero hice esas pruebas de los mensajes que dices y llegue a la conclusion que no entra nunca al if aunque meta datos de usuarios de la base de datos


ayuda porfavor


Título: Re: problema con login en laravel 5.1
Publicado por: 0roch1 en 13 Octubre 2015, 00:44 am
bueno gracias por responder pero hice esas pruebas de los mensajes que dices y llegue a la conclusion que no entra nunca al if aunque meta datos de usuarios de la base de datos

Precisamente eso es lo que digo, ahora ve más hacía atrás..
Entra a la función?, qué valores tienen email y password?.

Código
  1. public function store(Request $request)
  2.    {
  3.         echo "Entra a la función store()";
  4.         echo "email:".$request->email;
  5.         echo "pass:".$request->password;
  6.  
  7.        if (Auth::attempt(['email'=>$request->email , 'password'=>$request->password])) {
  8.            return Redirect::to('biblioteca');
  9.        }else {
  10.           return Redirect::to('usuarios/ingresar');
  11.        }
  12.  
  13.    }
  14.  

Siento no poder ayudar en tu problema puntual pero tampoco es que sea un foro de soporte, necesitas ser paciente, hay veces que los temas tardan días en responderse.
Puede que alguien más sea capaz de ayudarte o puede que no pero por ahora son los pequeños consejos que te puedo dar.

La contraseña en la base de datos está cifrada?



Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 13 Octubre 2015, 01:01 am
si

Código
  1.  public function crearUsuario(Request $request)
  2.    {
  3.  
  4.       // \App\Usuario::create(Input::all());
  5.        \App\Usuario::create([
  6.            'email'=>$request['email'],
  7.            'NOMBRE'=>$request['nombre'],
  8.            'APELLIDO'=>$request['apellido'],
  9.            'password'=>bcrypt($request['password']),
  10.            'REPITE_PASS'=>$request['repite_pass'],
  11.            ]);
  12.        return Redirect::to('usuarios');
  13.    // el método redirect nos devuelve a la ruta de mostrar la lista de los usuarios
  14.  
  15.    }


lo cifro con bcrypt


Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 13 Octubre 2015, 06:03 am
ya solucione el problema era externo

mi campo de password solo cubria 20 caracteres mientras la encriptacion generaba mas caracteres asi que lo puse 200 para que la encriptacion pudiera ser almacenada en la bd


Título: Re: problema con login en laravel 5.1
Publicado por: 0roch1 en 13 Octubre 2015, 17:56 pm
ya solucione el problema era externo

mi campo de password solo cubria 20 caracteres mientras la encriptacion generaba mas caracteres asi que lo puse 200 para que la encriptacion pudiera ser almacenada en la bd

Supuse que el problema iba más por ahí
Entra a la función?, qué valores tienen email y password?.


Saludos.


Título: Re: problema con login en laravel 5.1
Publicado por: bengy en 14 Octubre 2015, 17:22 pm
muchas gracias 0roch1 gracias por la ayuda...


Título: Re: problema con login en laravel 5.1
Publicado por: EFEX en 14 Octubre 2015, 19:31 pm
Laravel trae por defecto un sistema de usuario (Auth directorio en Controladores).. solo tenes que agregar las rutas y la vistas.

http://laravel.com/docs/5.1/authentication