Laravel - autenticaion personalizada en laravel sin el uso del auth ni de sus propiedades

 
Vista:

autenticaion personalizada en laravel sin el uso del auth ni de sus propiedades

Publicado por Bichito20 (2 intervenciones) el 11/04/2019 23:21:14
Hola inicio recien en laravel y queria realizar un login que no no sea con el que laravel proporciona ya q la base de datos es sql y es una tabla relacionada la funcion q trato de realizar para la autenticacion en la siguiente:
------------------------LoguinController---------------------
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
<?php
 
namespace App\Http\Controllers;
 
use Illuminate\Http\Request;
use DB;
use App\Usuario;
use App\Perfil;
 
use Illuminate\Support\Facades\Hash;
 
class LoginController extends Controller
{
    public function valida(Request $request){
        $datos=$this->validate($request,[
        'idUsuario' => 'required',
        'password'=>'required']);
        $query=DB::table('usuario')
        ->select('usuario.idUsuario','usuario.password','usuario.idPerfil')
        ->join('PERFILES','PERFILES.id','=','usuario.idPerfil')
        ->get();
 
 
           if (Hash::check('password'== $query->password))
           {
               return string('holaaaaa 1');
           }else{
            return string('holaaaaa 2');
           }
    }
----------------------------------------------------------------
y me vota el error de


Exception
Property [password] does not exist on this collection instance.

//alguien que me ayude por fa
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Marco Antonio
Val: 16
Ha mantenido su posición en Laravel (en relación al último mes)
Gráfica de Laravel

autenticaion personalizada en laravel sin el uso del auth ni de sus propiedades

Publicado por Marco Antonio (8 intervenciones) el 13/04/2019 20:05:32
Que tal Amigo,

Pasa lo siguiente:

Donde haces la consulta usando el metodo ->get();

Ese regresa una coleccion (Array) necesitas cambiarlos por first() para que te devuelva un solo registro en una instancia y no un array,


Aun asi, antes de que compruebes si el password es correcto tienes que validar que la consulta regrese un valor

1
2
3
if($query){// con esto te aseguras que la evaluacion solo se realizara cuando se haya encontrado información
    //Aqui va la verificacion del password
}


Espero poder ayduarte,

Estare al pendiente de tus comentarios

Saludos !!!
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar