簡體   English   中英

Laravel Multiple Auth ::嘗試

[英]Laravel Multiple Auth::attempt

我的laravel v5.4項目中有兩個模型,用戶和管理員。

在config / auth.php中,我將admin添加到警衛和提供者,如下所示:

'guards' => [

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

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

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


'providers' => [

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

    'admins' => [
        'driver' => 'eloquent',
        'model' => App\Models\Admin::class,
    ],
],

現在在AdminController類中,我想使用Auth :: attempt函數,但默認情況下它使用users表。 我可以更改config / auth.php中的默認值,如下所示它可以工作,但在這種情況下我不能使用Auth :: attempt for users。

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

我想將用戶設置為默認值,但使用Auth :: attempt('admin',[credentials])等方法為admin使用Auth :: attempt函數。 我如何使用Auth :: attempt for Admin模型?

你直接打電話給警衛,像這樣:

Auth::guard('admin')->attempt($credentials);

或者幫助者:

auth()->guard('admin')->attempt($credentials);

或者,幫助者更短:

auth('admin')->attempt($credentials);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM