2017-09-21 65 views
2

我的身份验证尝试时,用户登录不工作作为expected.It总是会返回其他部分想尝试AUTH验证::尝试不工作的登录

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; 

} 

} 

时,我的auth.php页面就像是,

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

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

但它总是返回else condition.why?

回答

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); 

希望这会为你工作。