2016-04-09 53 views
3

請幫我解決這個問題Laravel使用驗證::後衛(「一」)5.2.29 multiauth,驗證::後衛(「二」)

我想使用多認證。

我Laravel的版本是5.2。*(5.2.29)

我盡一切書面文件

//congig/auth.php 
<?php 

return [ 

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

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

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

    'admin' => [ 
     'driver' => 'token', 
     'provider' => 'adminProvider', 
    ], 
], 

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

    'adminProvider' => [ 
     'driver' => 'eloquent', 
     'model' => App\User::class, 
    ], 
], 

'passwords' => [ 
     'users' => [ 
      'provider' => 'users', 
      'email' => 'auth.emails.password', 
      'table' => 'password_resets', 
      'expire' => 60, 
     ], 
    ], 
]; 

But 
Auth::guard('api')->attempt(['email'=>[email protected],...]) 

它提供了以下錯誤

FatalErrorException在AuthController在.php第34行:

調用undefine d方法Illuminate \ Auth \ TokenGuard :: attempt() 我做錯了什麼?

回答

1

你應該改變如下:

'admin' => [ 
    'driver' => 'token', 
    'provider' => 'adminProvider', 
], 

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

你不能使用令牌的嘗試。

+0

哦,非常感謝。 您的回答幫助我解決了這個問題 –

+0

請投票並勾選回覆@VanyaAvchyan –

+0

對不起,但我不知道如何做到這一點 –