Auth :: attempt无法登录

时间:2017-09-21 07:26:34

标签: laravel authentication

当用户登录未按预期工作时我的身份验证尝试。在尝试验证时,它将始终返回其他部分

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',
     ],
],

但它总是会返回其他条件。为什么?

2 个答案:

答案 0 :(得分:1)

尝试使用auth凭证密钥作为电子邮件和密码,而不是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);

希望这对你有用。

答案 1 :(得分: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