Laravel 5.5 Guard Admin не работает для аутентификации, ошибка типа: аргумент 2 пройден - PullRequest
0 голосов
/ 31 января 2019

Я искал в каждом ресурсе такую ​​ошибку, в основном они говорили, что ошибка из-за провайдеров опечаток в config/auth.php.Но я проверяю в моем конфиге, там нет опечатки неправильно.это мое:

'defaults' => [
    'guard' => 'web',
    'passwords' => 'users',
],

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],

    'api' => [
        'driver' => 'token',
        'provider' => 'users',
    ],

    'admin' => [
      'driver' => 'session',
      'provider' => 'admin',
    ],
],

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

Я пишу своему guards провайдеру в admin, а мое имя провайдера admin.Я уже запускаю команду Composer Update, некоторые из людей спрашивают об этой ошибке при использовании команды composer update, но ничего для меня.

это мой контроллер для аутентификации.

 public function __construct()
 {
    $this->middleware('admin',['except' => ['login', 'auth']]);
 }

 // Login Auth
 public function auth(Request $request){
  if (Auth::guard('admin')->check()) {
     return redirect('/pendaftar');
  }
  else {
    echo "<pre/>"; print_r($request->all());die;//DEBUG

    $credentials = $request->only('email', 'password');

    if (Auth::guard('admin')->attempt([
                                        'email'     =>$request->email, 
                                        'password'  =>$request->password,
                                        'active'    => 'Y'
                                      ])
    ){
      return redirect('/pendaftar');
    }
    else
    {
      return back()->withErrors([
        'message' => Lang::get('auth.failed')
      ]);
    }
  }
}

И это моя Admin модель.

<?php

   namespace App;

   use Illuminate\Notifications\Notifiable;
   use Illuminate\Foundation\Auth\User as Authenticatable;
   use Illuminate\Auth\Authenticatable as AuthenticableTrait;

   class Admin extends Authenticatable
   {
      use Notifiable;

      protected $fillable = [
          'name', 'email', 'jabatan', 'active','password'
      ];

      protected $hidden = [
           'password', 'remember_token',
      ];
    }

Пожалуйста, дайте мне совет для этого.

...