2017-09-21 4 views
2
のために働いていません

マイ認証試行認証に認証::試みは、ログイン

public function tunneluserAuth(Request $request) 
{ 



    $this->validate($request, [ 
     'email' => 'required|email', 
     'password' => 'required', 
    ]); 

$password=Hash::make($request->input('password')); 

if (Auth::attempt(array('userLogin' => $request->input('email'), 
    'userPassword' => $password))) { 

    echo "hi";exit; 

} 
else { 

echo "here";exit; 

} 

} 

をしようしようとするときに、ユーザのログインは、常に他の部分を返しますexpected.Itとして動作していないし、私のauth.phpページはのようなものであるとき、 、

'providers' => [ 
    'users' => [ 
     'driver' => 'eloquent', 
     'model' => App\Entity\User::class, 
    ], 

    'companyUsers' => [ 
     'driver' => 'database', 
     'table' => 'companyUsers', 
    ], 
], 

しかし、それは常にelse条件を返します。なぜですか?

答えて

0

はこのスニペットを試してみてください:

<?php 

namespace App\Http\Controllers; 

use Illuminate\Support\Facades\Auth; 

class LoginController extends Controller 
{ 
    /** 
    * Handle an authentication attempt. 
    * 
    * @return Response 
    */ 
    public function authenticate() 
    { 
     if (Auth::attempt(['email' => $email, 'password' => $password])) { 
      // Authentication passed... 
      return redirect()->intended('dashboard'); 
     } 
    } 
}` 

出典:Laravel Documentation

1

ではなくuserloginのとuserPassword属性のメールアドレスとパスワードとして認証資格キーを使用してみてください。

public function tunneluserAuth(Request $request) 
{ 

    $this->validate($request, [ 
     'email' => 'required|email', 
     'password' => 'required', 
    ]); 

    if (Auth::attempt(['email' => $request->input('email'), 
    'password' => $request->input('password')])) { 

    echo "hi";exit; 

} 
else { 

echo "here";exit; 

} 

} 

あなたはまだ使用して、これを独自の資格キーを使用したい場合は - これはあなたのために動作します

$userData = User::where('userLogin',$request->input('email'))->first(); 
Auth::loginUsingId($userData->id); 

希望。

関連する問題